在 nova 资源索引视图中显示特定的 eloquent 查询
Display specific eloquent query in nova resource index view
我想在 nova 资源的索引视图中显示以下内容eloquent
Post::where('frontpage', true)->get()
并执行 Post 模型 CRUD 操作,我该怎么做?
Nova 利用 lenses 的概念来做到这一点。
从命令行创建一个新镜头:
php artisan nova:lens IsFrontpage
修改app/Nova/Lenses/IsFrontpage.php
中的query()
方法:
public static function query(LensRequest $request, $query)
{
return $request->withOrdering($request->withFilters(
$query->where('frontpage', '=', true)
));
}
将镜头附加到资源:
public function lenses(Request $request)
{
return [
new IsFrontpage()
];
}
在 Nova 管理面板中访问镜头:/nova/resources/posts/lens/is-frontpage
仔细查看 Nova documentation 以自定义 URL 子项(参见 uriKey()
)和列(参见 fields()
)。
您可以简单地覆盖 indexQuery
Nova 资源,Reference
/**
* Build an "index" query for the given resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function indexQuery(NovaRequest $request, $query)
{
return $query->where('frontpage', true);
}
我想在 nova 资源的索引视图中显示以下内容eloquent
Post::where('frontpage', true)->get()
并执行 Post 模型 CRUD 操作,我该怎么做?
Nova 利用 lenses 的概念来做到这一点。
从命令行创建一个新镜头:
php artisan nova:lens IsFrontpage
修改app/Nova/Lenses/IsFrontpage.php
中的query()
方法:
public static function query(LensRequest $request, $query)
{
return $request->withOrdering($request->withFilters(
$query->where('frontpage', '=', true)
));
}
将镜头附加到资源:
public function lenses(Request $request)
{
return [
new IsFrontpage()
];
}
在 Nova 管理面板中访问镜头:/nova/resources/posts/lens/is-frontpage
仔细查看 Nova documentation 以自定义 URL 子项(参见 uriKey()
)和列(参见 fields()
)。
您可以简单地覆盖 indexQuery
Nova 资源,Reference
/**
* Build an "index" query for the given resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function indexQuery(NovaRequest $request, $query)
{
return $query->where('frontpage', true);
}