【发布时间】:2021-03-23 03:28:09
【问题描述】:
我在 db 中有 2 个表
1) Orders它的模型是Order
2) Ordertakers它的模型是Ordertaker
每个订单都是由接单员创建的,我想按ot_id 计算订单数量,有点像这种情况
Order::where('ot_customer_distance', '<' , 50)->where('ot_id', $id)->get();
所以在模型中我使用了这个
class Ordertaker extends Model
{
public function vistorders(){
return $this->belongsTo('App\Order','ot_id')->where('ot_customer_distance', '<' , 50)->count();
}
}
我的控制器是
public function index()
{
$ids = [Auth::id()];
if (Auth::user()->role < 3) {
$ids = array_merge($ids, User::where('ot_of', Auth::id())->pluck('id')->toArray());
}
$ordertaker = User::where('role', 5)->has('ordertaker')->with('ordertaker');
$ordertaker = $ordertaker->where('ot_of', Auth::id());
$ordertaker = $ordertaker->get();
return view('all_ordertakers', compact('ordertaker'));
}
我的刀是
@foreach($ordertaker as $ot)
<td><b>Total Vst</b><br>{{ sizeof($ot->vistorders) }}</td>
@endforeach
但我的结果是 0 有什么帮助吗?
【问题讨论】:
标签: php laravel model-view-controller eloquent relationship