问题描述
我有
具有以下字段的订单表:Id,grandtotal,orderdate
class Orders extends Model
{
public function myorderitems()
{
return $this->hasMany(OrderItems::class);
}
}
订单项表,其中包含以下字段:
Id,productitem,qty,subtotal,order_id (FK link to id in order table)
class OrderItems extends Model
{
public function products()
{
return $this->belongsTo(Orders::class,'order_id');
}
}
我的yajra数据表输出,每行将显示Orderid,orderdate,grandtotal,orderitems
我需要有能力将orderitems
数据准备到addColumn
中
这样我就可以进行任何格式设置并以自己的方式显示所有订单项。
如何将每个订单的订单项注入addColumn单元格? 猜猜有很多,急切的yajra也许可以解决这个问题,但是在阅读了他们的文档之后,还不太了解。
public function viewOrders(Request $request)
{
$orders = \DB::table('orders')
->select('id','grand_total','order_status','created_at' )
->with('orderitems');
if ($request->ajax()) {
return Datatables::of($orders)
->addColumn('orderitemdisplay',function($row){
// $orderitems = $row->id->myorderitems;
//this way fail to retrieve..
$content= '<b>order items<b/>';
foreach($orderitems as $item)
{
$productname = $items->qty;
$qty = $items->qty;
$subtotal = $items->subtotal;
$content.= $productname.' x' . $qty . ' ' . $subtotal .'<br>';
}
return $content;
})
->addColumn('status',function($row){
$content= '';
if($row->order_status){
$content .= '<span class="badge badge-primary">Active</span>';
}else{
$content .= '<span class="badge badge-danger">Deactive</span>';
}
return $content;
})
->rawColumns([ 'action','status','orderitemdisplay'])
->make(true);
}
//return template page
return view('view_orders');
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)