kohana - помогите с has_many - PullRequest
       24

kohana - помогите с has_many

0 голосов
/ 20 сентября 2011

Я использую 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();

Это только добавляет значениядля таблицы фильмов, но для источников она создает новую пустую запись.

1 Ответ

0 голосов
/ 20 сентября 2011

Вам нужно будет создать новый источник для каждого, который вы хотите добавить в фильм.Например:

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