使用 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
]
希望对您有所帮助!
当我尝试使用 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
]
希望对您有所帮助!