Laravel 拉拉维尔/旅行者号中的条件性面包

Laravel 拉拉维尔/旅行者号中的条件性面包,laravel,voyager,Laravel,Voyager,是否有方法将某些条件应用于旅行者面包显示的记录列表?例如,仅显示某列为空的记录(即,其中“col_name”为空) 更新(18年12月17日): 可以重写控制器并添加where子句。例如,如果需要覆盖“帖子”列表,则应: 制作自定义后控制器:php artisan制作:控制器后控制器 从Voyager面包控制器扩展它:class PostController extends\TCG\Voyager\Http\Controllers\VoyagerBaseController 导入旅行者的外观:

是否有方法将某些条件应用于旅行者面包显示的记录列表?例如,仅显示某列为空的记录(即,
其中“col_name”为空

更新(18年12月17日):


可以重写控制器并添加where子句。例如,如果需要覆盖“帖子”列表,则应:

  • 制作自定义后控制器:
    php artisan制作:控制器后控制器
  • 从Voyager面包控制器扩展它:
    class PostController extends\TCG\Voyager\Http\Controllers\VoyagerBaseController
  • 导入旅行者的外观:
    使用TCG\Voyager\Facades\Voyager
  • 从VoyagerBaseController复制整个索引函数。您可以在
    \vendor\tcg\Voyager\Http\Controllers\VoyagerBaseController
  • 覆盖它以添加所需的任何逻辑或筛选器,例如:
  • $dataType=Voyager::model('dataType'))
    ->其中('slug','=',$slug)
    ->其中('col_name','=',NULL)
    ->第一个()

    您还可以在同一函数中设置
    $orderBy='col\u name'
    $sortOrder='asc'/'desc'
    自定义值。旅行者的文件

    旧版:



    是的,有。您需要编辑视图并应用条件过滤器。说明了如何覆盖视图(如果您想在将数据发送到视图之前对其进行过滤,请使用控制器)。

    只需在模型中定义一个范围:

    public function scopeMyScope($query)
    {
        return $query->where('col_name', null);
    }
    

    然后转到Bread表单并从表单范围下拉列表中选择它:)

    @SimplyGed我刚刚编辑它来回答问题。泰。