如何解决用作关系船的 Laravel 访问器和修改器
我需要一种通过 child(hasMany) 关系对结果进行排序的方法。让我用代码解释我的问题。 我有 3 个模型,分别是建议、库存、报价
要约模型的relation
public function stock(){ return $this->belongsTo(Stock::class);}
库存模型的relation
public function offers(){return $this->hasMany(Offer::class)->orderBy('submitted','DESC')->orderBy('position','DESC');}
public function suggestion(){return $this->hasOne(Suggestion::class);}
建议模型关系
public function stock(){return $this->belongsTo(Stock::class);}
实际上我需要做的是按 offer.submitted
我现在做了什么在下面,但它不起作用:(
public function getSortedSuggestions(){
$suggestion = new Suggestion();
$results = $suggestion::with(
[
'stock' => function ($query) {
return $query->with(
[
'links:id,stock_id,title,url','category:id,title','market:id,'offers' => function ($q) {
return $q->select(
'id','stock_id','position','price','percentage','type','submitted','second_date'
)->get()->sortBy(
function ($query) {
return $query->submitted;
}
);
},]
)->select(
'id','symbol','company_name','production','category_id','market_id','fiscal_year'
)->get()->sortByDesc(
function ($query) {
return $query->id;
}
);
},]
)->where('status',$request->position)->select([ 'id','status' ])->get()->sortBy(function($q){
return $q->stock_id;
});
return $this->jsonSuccess('success',$results);
}
任何帮助将是我的荣幸, 感谢您的时间!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。