laravel - 排序网格列中的Laravel问题
问题描述
我是 Laravel 的新手,我正在用 Laravel 5.8 和 SqlServer 开发一个站点。
目前,我面临一个可排序的列网格的问题。我已按照有关 Kyslink 包的说明进行操作:https ://github.com/Kyslik/column-sortable 。
但由于我不明白的原因,当我尝试打开带有可排序网格的页面时,会出现以下消息:“调用未定义的方法 Illuminate\Database\Query\Builder::sortable()”
我在互联网上找到了很多关于此的建议,但没有一个适合我。
也许原因是我的网格重现了一个 sql 视图?
如果我删除 sortable() 方法,视图将起作用。
//我的控制器方法代码是这样的
class AdminController extends Controller
{
use Sortable;
protected $sortable = [
'id', 'ticket_id', 'type_id', 'start_time', 'end_time', 'user_id', 'note'
];
public function activities() {
try {
$activities = DB::table('activities')
->leftJoin('users', 'activities.user_id', '=', 'users.id')
->leftJoin('types', 'activities.type_id', '=', 'types.id')
->leftJoin('tickets', 'activities.ticket_id', '=', 'tickets.id')
->select('activities.*', 'users.name as user_name', 'types.description as type_description', 'tickets.subject')
->sortable()
->paginate(config('app.num_pages'));
}
catch (\Kyslik\ColumnSortable\Exceptions\ColumnSortableException $e) {
dd($e);
}
return view('activity.activities', compact('activities'));
}
}
解决方案
您应该Sortable
在模型中使用特征,而不是控制器!
你应该放置use Sortable;
和
protected $sortable = [
'id', 'ticket_id', 'type_id', 'start_time', 'end_time', 'user_id', 'note'
];
在模型中。
推荐阅读
- python-3.x - 我无法在 python 中使用 OAUTH 2.0 SAML Assertion Bearer 流获取访问令牌
- python - Postgres 现有列不存在错误
- powershell - PowerShell 事件查看器错误
- python - 如何更新脑切片的 Tkinter 图中的值,以便能够从 4D 图像中翻阅不同的脑容量
- angular - Rxjs zip 与 rest 调用两次调用
- excel - VBA根据表的数据列表锁定/解锁每一行
- javascript - 在 React 中切换语言而不使用外部库
- jsf - 为什么 UTF8 字符编码在 JSF 中不起作用?
- core - MS chart 将图表缩放到一个区域
- python - 如何将看起来像列表的 str 转换为没有库 ast 的列表