0

INTであるFuelphpのフィールドを生成する方法はありますか?それはnullではなく主キーでもあり、自動インクリメントですか?

ドキュメントでは、次のようになります。

php oil g scaffold <modelname> [<fieldname1>:<type1> |<fieldname2>:<type2> |..]

私が次のようなことを試みた場合:

oil g scaffold test testid:int primary key not null auto_increment

「未定義のオフセット」というエラーメッセージが表示されます

4

1 に答える 1

3

IDはオイルスキャフォールドによって自動的に生成されるため、入力する必要はありません。そして、移行を実行した後、それは主キーとしてテーブルに作成されます。スキャフォールドの生成後に移行を変更する場合は、移行ファイル(fuel / app / migrations / ..)を編集できます。

あなたが例えば持っているなら

 oil g scaffold test field:string field2:string

移行は次のようになります

namespace Fuel\Migrations;

class Create_tests
{
public function up()
{
    \DBUtil::create_table('tests', array(
        'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true),
        'field' => array('constraint' => 255, 'type' => 'varchar'),
        'field2' => array('constraint' => 255, 'type' => 'varchar'),
        'created_at' => array('constraint' => 11, 'type' => 'int'),
        'updated_at' => array('constraint' => 11, 'type' => 'int'),

    ), array('id'));
}

public function down()
{
    \DBUtil::drop_table('tests');
}
}

お役に立てれば。

于 2012-04-30T12:47:13.607 に答える