0
У меня есть три таблицы:Laravel Eloquent hasManyThrough отношение + пагинация
Videos:
-id
-name
-another fields
Cats:
-id
-name
-another fields
Cats_videos:
-id
-cat_id
-video_id
И три красноречивых модели:
class cat extends Model
{
protected $table = 'cat';
public function AllCatVideos()
{
return $this->hasManyThrough('App\videos', 'App\cats_videos','cat_id','id');
}
}
class videos extends Model
{
public $timestamps = false;
protected $table ='videos';
}
class cats_videos extends Model
{
protected $table = 'cats_videos';
}
Итак, я хочу, чтобы получить все видео в одной кошки, а затем разбиваться результаты. Я пытаюсь сделать так:
$cat = new Cats();
$videos = $cat->find(58)->AllCatVideos()->toSql();
И я получать SQL, как это:
select * from `videos` inner join `cats_videos` on `cats_videos`.`id` = `videos`.`id` where `cats_videos`.`cat_id` = 58
Но мне нужно вместо "cats_videos
id
= videos
"cats_videos
video_id
= videos
id
..".. id
". Как я могу это сделать, используя «hasManyThrough»? Или я должен посмотреть что-то еще?