kohana - 帮助 has_many

发布于 2024-12-05 17:31:11 字数 828 浏览 0 评论 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();

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

I'm using kohana 3.2 and I need help with has_many relationship. I cant make my code working.
This is how my db looks

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

Source is a link to movie (eg. dvdrip, rmvb)
and here is what i need to do:

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

This only adds values for film table, but for sources it makes new empty record.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑咖 2024-12-12 17:31:11

您需要为要添加到影片中的每一个源创建一个新源。例如:

$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
}

You'll need to create a new source for each one you want to add to the film. For example:

$source = ORM::factory('source');
$source->film_id = $film->id;
$source->name = $src_name;
$source->code = $src_code;
$source->save();

and repeat for each source you'd like to add to the film. The has many relationship for the film is used for retrieving it's sources, for example:

$sources = $film->sources->find_all();
foreach($sources as $src)
{
// do something with $src
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文