有没有办法对 Voyager's BREAD 显示的记录列表应用某些条件?例如,只显示某列为空白的记录(即WHERE 'col_name' IS NULL
)?
问问题
2791 次
2 回答
3
更新(18 年 17 月 12 日):
您可以覆盖控制器并添加 where 子句。例如,如果您需要覆盖“帖子”列表,那么您应该:
- 制作一个自定义 PostController:
php artisan make:controller PostController
- 从 Voyager BREAD 控制器扩展它:
class PostController extends \TCG\Voyager\Http\Controllers\VoyagerBaseController
- 导入航海者的门面:
use 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'
老的:
就在这里。您需要编辑视图并应用条件过滤器。这里解释了如何覆盖视图(如果你想在将数据发送到视图之前过滤它,还有控制器)。
于 2018-12-11T03:54:59.217 回答
2
只需在模型中定义一个范围:
public function scopeMyScope($query)
{
return $query->where('col_name', null);
}
然后转到面包表格并从范围下拉列表中选择它:)
于 2020-09-27T15:55:16.183 回答