繁体   English   中英

Laravel / Voyager 中的条件面包

[英]Conditional BREAD in Laravel / Voyager

有没有办法对 Voyager's BREAD 显示的记录列表应用某些条件? 例如,只显示某一WHERE 'col_name' IS NULL空的记录(即WHERE 'col_name' IS NULL )?

更新 (17/12/18):


您可以覆盖控制器并添加 where 子句。 例如,如果您需要覆盖“帖子”列表,那么您应该:

  1. 制作一个自定义的 PostController: php artisan make:controller PostController
  2. 从 Voyager BREAD 控制器扩展它: class PostController extends \\TCG\\Voyager\\Http\\Controllers\\VoyagerBaseController
  3. 导入 Voyager 的 Facade: use TCG\\Voyager\\Facades\\Voyager;
  4. 从 VoyagerBaseController 复制整个索引函数。 您可以在\\vendor\\tcg\\Voyager\\Http\\Controllers\\VoyagerBaseController找到它
  5. 覆盖它以添加您需要的任何逻辑或过滤器,例如:

$dataType = Voyager::model('DataType') ->where('slug', '=', $slug) ->where('col_name', '=', NULL) ->first();

您还可以在同一函数中设置$orderBy = 'col_name'$sortOrder = 'asc'/'desc'自定义值。 这里是航海者的文档。

老的:


就在这里。 您需要编辑视图并应用条件过滤器。 这里解释了如何覆盖视图(如果你想在将数据发送到视图之前过滤它,还有控制器)。

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

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

然后转到 Bread Form 并从 Scope 下拉菜单中选择它 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM