1
Kohana 3.2のORMで複数のレコードを更新するにはどうすればよいですか?この例ではKohana 3.2 ORM複数レコードの更新
:
$menu = ORM::factory('menu');
$menu->where('active','=',1);
$menu->active=2;
$menu->save();
が動作しない、それは新しいレコードを挿入します。
おかげ
Kohana 3.2のORMで複数のレコードを更新するにはどうすればよいですか?この例ではKohana 3.2 ORM複数レコードの更新
:
$menu = ORM::factory('menu');
$menu->where('active','=',1);
$menu->active=2;
$menu->save();
が動作しない、それは新しいレコードを挿入します。
おかげ
あなたは多分、テーブル名をハードコーディングしたくない場合は
DB::update(ORM::factory('menu')->table_name())
->set(array('active' => '2'))
->where('active', '=', '1')
->execute();
以下のようなものは、この使用してORMを行うと、ビルダーを照会ないしたい何らかの理由はありますか? – Tadeck
アプリケーションは、 "Model_Menu extends ORM"クラスを使用しているため、alredyです。 – Vincent
これは引数ではありません。 KohanaのORMはクエリビルダに基づいているため、クエリビルダ機能のサブセットのみをサポートしています。生のクエリビルダを使用すると、レコードごとに個別のクエリを使用するのではなく、単一のSQLクエリで必要なものを設定できます。 1)読みやすさに関する懸念(下位のクエリービルダーレイヤーではなくORMレイヤー上でタスクを実行する)、2)モデル内で囲まれたカスタムビジネスロジック(例えば、save()内にあるカスタムビジネスロジック、 'メソッド)。ここでどちらのケースですか? – Tadeck