Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 关系和嵌套数据Elount和laravel_Php_Laravel_Collections_Eloquent - Fatal编程技术网

Php 关系和嵌套数据Elount和laravel

Php 关系和嵌套数据Elount和laravel,php,laravel,collections,eloquent,Php,Laravel,Collections,Eloquent,在我的应用程序中,一个用户可以有许多列表,许多列表可以有许多标签。在我的一个页面上,我正在执行以下查询,以根据用户的配置文件slug获取用户列表 $user=user::with('listings.tags','listings.assets')->where('slug',$slug)->first() 从这个结果集中,我想得到所有的列表,并提取唯一的名称,并将其分配给一个新的键,即usedTags 但是当我这样做的时候, return $user->filter(function($

在我的应用程序中,一个用户可以有许多列表,许多列表可以有许多标签。在我的一个页面上,我正在执行以下查询,以根据用户的配置文件slug获取用户列表

$user=user::with('listings.tags','listings.assets')->where('slug',$slug)->first()

从这个结果集中,我想得到所有的列表,并提取唯一的名称,并将其分配给一个新的键,即usedTags

但是当我这样做的时候,

return $user->filter(function($listings){
            foreach($listings as $listing) {
                return $listing;
                $user['tags'][] = $l->tags->pluck('tag');
            }
        });
我得到以下错误

消息:“调用未定义的方法App\User::filter()”


因此,我假设当我使用
first()
时,它不会返回集合(?),因此我无法对其进行筛选,那么我在这里可以做什么?

$user->listings->filter(…)
您还应该能够使用with()中的子查询,with(['relation'=>函数($q){});您可能可以通过应用distinct或group来过滤这样的标记。例如,$q->select('name')->groupBy('name')
$user->listings->filter(…)
您还应该能够在with()中使用子查询,with(['relation'=>函数($q){});您可能可以通过应用distinct或group来过滤这样的标记。例如,$q->select('name')->groupBy('name'))