Laravel Yajra hasmany在addColumn上显示所有项目

问题描述

我有

具有以下字段的订单表: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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...