Итак, я пытаюсь изучить Kohana, и я столкнулся с проблемой, когда дело доходит до их модуля ORM. При попытке установить объект ORM «один ко многим» я могу обновить / вставить информацию из моей родительской модели, но это не позволит мне связать (вставить / обновить) новых детей.
Для ясности, вот моя структура базы данных ...
recipes
--id
--recipe
--directions
--servings
ingredients
--id
--recipe_id
--amount
--serving
items
--id
--item
... мои модели ...
class Model_Recipe extends ORM
{
protected $_has_many = array( 'ingredient' => array() );
}
class Model_Ingredient extends ORM
{
protected $_belongs_to = array( 'recipe' => array() );
protected $_has_one = array( 'item' => array() );
}
class Model_Item extends ORM
{
protected $_belongs_to = array( 'ingredient' => array() );
}
... и мой контроллер ...
class Controller_Recipe extends Controller
{
function action_save_form()
{
$recipe = ORM::factory( 'recipe', 1 );
$recipe->ingredient->recipe_id = 1;
$recipe->ingredient->amount = 1;
$recipe->ingredient->measurement_type = 'tablespoon';
$recipe->ingredient->save();
$recipe->ingredient->item->item = 'butter';
$recipe->ingredient->item->ingredient_id = $recipe->ingredient->id;
$recipe->ingredient->item->save();
}
}
Я свободно признаю, что это из-за моей неумелости, но я перешел через документы / вики / чтения (ing) через исходный код, и не смогли найти что-либо даже близко.Оцените любую помощь / идеи, которые могут быть у каждого
РЕДАКТИРОВАТЬ: После перечитывания, это может быть не очень ясно.То, что я пытаюсь сделать, это обновить объект $ recipe, а затем обновить / добавить ингредиенты и их один-к-одному подобъекты (элементы), например, так: