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」類來執行。 – Vincent
這不是一個參數。 Kohana的ORM基於查詢構建器,所以它只支持查詢構建器功能的一個子集。使用原始查詢生成器,您可以使用單個SQL查詢設置所需的內容,而不是對每個記錄使用單獨的查詢。使用ORM而不是查詢生成器的唯一合理的參數是:1)可讀性關注(在ORM層上執行任務,而不是在較低的查詢生成器層上執行任務); 2)模型中包含的定製業務邏輯(例如'save() '方法)。這裏是哪種情況? – Tadeck