我有两个桌子
位置和服务
我之间有hasMany关系,一个位置有很多服务。
我在“服务”表上有一个字段“ sort_order”,并希望以此对服务进行排序。我过滤了结果,但只需要让它们在服务表的“ sort_order”字段上排序即可。
位置模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Location extends Model
{
protected $table ='location';
public function sorter(){
return ($this->hasMany(Sorter::class));
}
}
服务模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Sorter extends Model
{
protected $table = 'sorter';
}
控制器
public function getSort($id){
$tenantId = $id;
$filtered = Location::with(['sorter' => function($query) use ($tenantId) {
$query->where('tenant_id', $tenantId)->orderBy('sort_order', 'asc');
}])->orderBy('sortersort_order')->get();
foreach($filtered as $dat){
foreach($dat->sorter as $d){
echo($d . '<br />');
}
}
return view('sorter')->with('data', $filtered);
}
我想返回服务表中对sort_order字段排序的结果