相关疑难解决方法(0)

在Laravel 5中合并'with'和'whereHas'

我在Laravel 5中有这个代码,使用Eloquent,它完美地工作:

$filterTask = function($query) use ($id) {
    $query->where('taskid', $id);
};

User::whereHas('submissions', $filterTask)->with(['submissions' => $filterTask])->get();
Run Code Online (Sandbox Code Playgroud)

基本上,目标是只为那些用户提供过滤后的提交,其中包含任何一个.然而,似乎浪费了同时运行whereHas和具有相同回调函数的方法.有没有办法简化它?

谢谢.

php laravel eloquent laravel-5

16
推荐指数
2
解决办法
1万
查看次数

使用 Eloquent 时如何使用 '::whereHas()' 作为 '::with()' 查询的约束?

我有一个疑问:

Posts::whereHas('comments', function($query){
          $query->where('name', 'like', 'asd');
      })->with('comments')->get();
Run Code Online (Sandbox Code Playgroud)

它返回所有评论名称类似于“asd”的帖子以及这些帖子的所有评论。我可以在 '::whereHas' 中将上述约束用于 'with' 方法,这样它就不会返回所有评论,而只会返回符合要求的评论吗?还是我必须重复查询?

laravel eloquent

1
推荐指数
1
解决办法
925
查看次数

标签 统计

eloquent ×2

laravel ×2

laravel-5 ×1

php ×1