0

我正在使用 kohana 3.2,我需要有关 has_many 关系的帮助。我不能让我的代码工作。这就是我的数据库的外观

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();

这只会增加电影表的值,但对于源它会产生新的空记录。

4

1 回答 1

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
}
于 2011-09-20T19:55:49.660 回答