我想在查看索引视图时返回与计算字段不同的结果,而不是在查看资源的详细视图时 .
基本上类似于下面的viewIs():
Text::make('Preview', function () { if($this->viewIs('index'){ return \small_preview($this->image); } return \large_preview($this->image); })->asHtml(),
您可以为索引和详细信息页面创建两个单独的字段 .
// ----- For Index page Text::make('Preview', function () { return \small_preview($this->image); }) ->onlyOnIndex() ->asHtml(), // ----- For Detail page Text::make('Preview', function () { return \large_preview($this->image); }) ->onlyOnDetail() ->asHtml(),
您可以检查请求的类:
Text::make('Preview', function () use ($request) { if ($request instanceof \Laravel\Nova\Http\Requests\ResourceDetailRequest) { return \large_preview($this->image); } return \small_preview($this->image); });
否则,您可以创建自己的viewIs函数:
// app/Nova/Resource.php /** * Check the current view. * * @param string $view * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @retrun bool */ public function viewIs($view, $request) { $class = '\Laravel\Nova\Http\Requests\\Resource'.ucfirst($view).'Request'; return $request instanceof $class; }
然后你可以这样做:
Text::make('Preview', function () use ($request) { if ($this->viewIs('detail', $request) { return \large_preview($this->image); } return \small_preview($this->image); });
2 回答
您可以为索引和详细信息页面创建两个单独的字段 .
您可以检查请求的类:
否则,您可以创建自己的viewIs函数:
然后你可以这样做: