我正在使用kohana 3.2,我需要帮助has_many关系。我不能让我的代码工作。 这就是我的db看起来
的方式films
-id (pk)
-title
-description
sources
-id (pk)
-film_id
-code
class Model_Film extends ORM
{
protected $_has_many = array(
'sources' => array()
);
}
class Model_Source extends ORM
{
protected $_belongs_to = array(
'film' => array(),
);
}
来源是电影的链接(例如,dvdrip,rmvb) 这就是我需要做的事情:
$film = ORM::factory('film');
$film->title = $title;
$film->description = $desc;
$film->year = $year;
$film->user_id = $uid;
$film->save();
$film->sources->film_id = $film->id; //last film id
$film->sources->name = $src_name;
$film->sources->code = $src_code;
$film->sources->save();
这只会为胶片表添加值,但对于来源,它会创建新的空记录。
答案 0 :(得分:0)
您需要为要添加到影片中的每个人创建新的来源。例如:
$source = ORM::factory('source');
$source->film_id = $film->id;
$source->name = $src_name;
$source->code = $src_code;
$source->save();
并重复您要添加到影片中的每个来源。电影的许多关系用于检索它的来源,例如:
$sources = $film->sources->find_all();
foreach($sources as $src)
{
// do something with $src
}