使用AJAX从其他表加载数据

时间:2018-07-08 22:50:57

标签: laravel-5 backpack-for-laravel

当我尝试使用AJAX选项获取数据时,我收到一条错误消息,指出一列不存在。

我正在使用的主表是users,另一个是orders。在User模型中,两个表之间都有一个关系集。在这种情况下,orders表具有user_id作为FK。

public function orders()
{
    return $this->hasMany(Order::class);
}

然后在UserCrudController中设置order列,以使用访问器获取数据:

[
    'label' =>  'Orders',
    'name'  =>  'order_count',
],

// This method is in the `User` model
public function getOrderCountAttribute() {
    return count($this->orders);
}

因此,当我启用AJAX时,我得到一个错误,指出order_count表中不存在列User。未达到该关系和访问器,因为我尝试使用die()

有没有一种方法可以使用AJAX运行查询?我正在使用背包3和laravel 5.4

1 个答案:

答案 0 :(得分:1)

您应该能够使用model_function列类型。据我所知,对于您的情况是:

[
   // run a function on the CRUD model and show its return value
   'name' => "order_count",
   'label' => "Orders", // Table column heading
   'type' => "model_function",
   'function_name' => 'getOrderCountAttribute', // the method in your Model
   // 'limit' => 100, // Limit the number of characters shown
]

希望有帮助!