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');