有没有办法将某些条件应用于 Voyager's BREAD 显示的记录列表?例如,只显示特定列为空的记录(即 WHERE 'col_name' IS NULL
)?
最佳答案
更新(17/12/18):
您可以覆盖 Controller 并添加 where 子句。例如,如果您需要覆盖“帖子”列表,那么您应该:
- 制作自定义 PostController:
php artisan make:controller PostController
- 从 Voyager BREAD Controller 扩展它:
class PostController extends\TCG\Voyager\Http\Controllers\VoyagerBaseController
- 导入 Voyager 的外观:
使用 TCG\Voyager\Facades\Voyager;
- 从 VoyagerBaseController 复制整个索引函数。您可以在
\vendor\tcg\Voyager\Http\Controllers\VoyagerBaseController
中找到它
- 覆盖它以添加您需要的任何逻辑或过滤器,例如:
$dataType = Voyager::model('DataType')
->where('slug', '=', $slug)
->where('col_name', '=', NULL)
->first();
您还可以在同一函数中设置 $orderBy = 'col_name'
和 $sortOrder = 'asc'/'desc'
自定义值。 Here航海者的文档。
旧:
是的,有。您需要编辑 View 并应用条件过滤器。 Here解释了如何覆盖 View (以及 Controller ,如果您想在将数据发送到 View 之前对其进行过滤)。
关于laravel - Laravel/Voyager 中的条件 BREAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51962279/