【发布时间】:2023-03-08 10:49:01
【问题描述】:
我有一张给定的桌子:
tools toolparts parts part_details
----- --------- ----- ------------
id* id* id* id*
name tool_id name part_id
part_id total (int)
----- --------- ----- ------------
Tools 和 Parts 之间的关系是ManyToMany。并且parts和part_details之间的关系是一对多的。
使用 Laravel 模型,如何获得具有最大 part_details.total 的部分的工具??
//tool model
public function parts()
{
return $this->belongsToMany('App\Part', 'tool_part');
}
//part model
public function tools()
{
return $this->belongsToMany('App\Tool', 'tool_part')
}
public function details(){
return $this->hasMany('App\Part_detail');
}
//partDetail model
public function part(){
return $this->belongsTo('App\Part');
}
控制器
public function index()
{
$tools = Tool::with('parts', 'parts.details')->has('parts')->get();
return $tools;
}
我的预期是这样的:
控制器
public function index()
{
$tool = Tool::with('SinglePartThatHasHigestTotalInPartDetail');
}
有什么想法吗??
【问题讨论】:
标签: laravel many-to-many laravel-eloquent