在laravel中选择

在laravel中选择,laravel,Laravel,我最近开始学习Laravel,无法解决我的查询问题 SELECT*FROMfilmsWHERE-id-IN(从favoritesWHERE-user\u-id=2中选择film\u-id) 这是正确的代码,但是如何为Laravel创建它呢 我试图查看文档,但并非如此。也许有人知道如何解决这个问题?您可以将雄辩的模型与其中()一起使用,如下所示 Films::whereIn('id',Favorites::where('user_id', 2)->pluck('film_id'))->

我最近开始学习Laravel,无法解决我的查询问题

SELECT*FROM
films
WHERE-id-IN(从
favorites
WHERE-user\u-id=2中选择film\u-id)

这是正确的代码,但是如何为Laravel创建它呢
我试图查看文档,但并非如此。也许有人知道如何解决这个问题?

您可以将
雄辩的
模型与
其中()
一起使用,如下所示

Films::whereIn('id',Favorites::where('user_id', 2)->pluck('film_id'))->get();
而且,如果您使用带有关系的
雄辩的
模型,那么它将更简单,如下所示

$user->favorites()->films

您可以将
雄辩的
模型与
where()
一起使用,如下所示

Films::whereIn('id',Favorites::where('user_id', 2)->pluck('film_id'))->get();
而且,如果您使用带有关系的
雄辩的
模型,那么它将更简单,如下所示

$user->favorites()->films

要将其构建为查询,可以使用
其中

\DB::table('films')->whereIn('id', function($query) {
            $query->select('id')->from('favorites')->where('user_id',2);
        })->toSql();
这将产生

select * from `films` where `id` in (select `id` from `favorites` where `user_id` = ?)

要将其构建为查询,可以使用
其中

\DB::table('films')->whereIn('id', function($query) {
            $query->select('id')->from('favorites')->where('user_id',2);
        })->toSql();
这将产生

select * from `films` where `id` in (select `id` from `favorites` where `user_id` = ?)

为什么不使用雄辩或查询生成器?有什么特别的原因吗?或者你是新来的吗?没错,我是新来的LaravelOk mate,我建议你先读一下:你的代码可以像
$user->favorites()->电影一样清晰
谢谢伙计,我会学习这个方法的!这对我很有用!:)为什么不使用雄辩或查询生成器?有什么特别的原因吗?或者你是新来的吗?没错,我是新来的LaravelOk mate,我建议你先读一下:你的代码可以像
$user->favorites()->电影一样清晰
谢谢伙计,我会学习这个方法的!这对我很有用!:)