使用 AJAX 从其他 table 加载数据

Load data from other table using AJAX

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

我用的主要table是users,另一个是orders。在 User 模型中,我在两个 table 之间设置了关系。在这种情况下,orders table 有一个 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 table 中不存在。未达到关系和访问器,因为我尝试使用 die().

有什么方法可以 运行 使用 AJAX 查询吗?我正在使用背包 3 和 laravel 5.4

您应该可以使用 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
]

希望对您有所帮助!