Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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 选择有关多态关系的特定列-Laravel_Php_Laravel - Fatal编程技术网

Php 选择有关多态关系的特定列-Laravel

Php 选择有关多态关系的特定列-Laravel,php,laravel,Php,Laravel,在正常关系中,我可以这样做,在使用以下命令进行加载时仅选择几列: ->with(['reported' => function ($query) { $query->select(['nick','id']); } ]) 但是,当处理多态关系时,我要选择的列根据变形模型的不同而不同,该如何处理呢 我已经尝试过像使用普通查询一样使用该查询,也尝试过使用morph子句,但它没有select函数 - 编辑: 我想选择什么时候只加载尼克,什么时候是变形的Jogador模型,什么时候用

在正常关系中,我可以这样做,在使用以下命令进行加载时仅选择几列:

->with(['reported' => function ($query) { $query->select(['nick','id']); } ])
但是,当处理多态关系时,我要选择的列根据变形模型的不同而不同,该如何处理呢

我已经尝试过像使用普通查询一样使用该查询,也尝试过使用morph子句,但它没有select函数

- 编辑:

我想选择什么时候只加载尼克,什么时候是变形的Jogador模型,什么时候用户是变形的模型,什么时候只加载名字。

试试这个


使用['author'=>函数$query{$query->select['id','name','nick']}]->orderBy'created_at','DESC',发布不起作用的代码$query->;尼克来自一个模特,名字来自另一个模特。作者是变形关系对不起,我解释得不对。我编辑了我的问题以包含更多细节。
ReportMessages (model)

public function author(){
return $this->morphTo();
}

User (model)

protected $fillable = ['name', (...)];

public function reportMessages(){
return $this->morphOne('App\ReportMessage', 'author');
}

Jogador (model)
protected $fillable=['nick', (...)];

public function reportMessages(){
return $this->morphOne('App\ReportMessage', 'author');
}
$query->with(['reported' => function($query){ $query->select(['id','nick']) } ])->orderBy('created_at', 'ASC');