kohana - 帮助has_many

时间:2011-09-20 18:42:40

标签: php kohana relationship kohana-orm

我正在使用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();

这只会为胶片表添加值,但对于来源,它会创建新的空记录。

1 个答案:

答案 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
}