laravel报错讲非法标签设置或值为空?

发布于 2022-09-05 08:57:29 字数 1648 浏览 17 评论 0

报错信息如下:
ErrorException in Factory.php line 159:
Illegal offset type in isset or empty
具体是:视图:

<p class="post-meta">
                            Posted on {{ $post->publish_at->format('F j  Y') }}
                            @if ($post->grades->count())
                                in
                                {!! join(', ', $post->gradeLinks()) !!}
                            @endif
                        </p>

模型model里的对应函数:

 public function gradeLinks($base = '/article_system?grade=%grade%')
    {
        $grades = $this->grades()->lists('grade');
        $return = [];
        foreach ($grades as $grade) {
            $url = str_replace('%grade%', urlencode($grade), $base);
            $return[] = '<a href="'.$url.'">'.e($grade).'</a>';
        }
        return $return;
    }

控制器:

 public function index(Request $request)
    {
        $grade = $request->get('grade');
        $data = $this->dispatch(new Article_systemIndexData($grade));
        $layout = $grade ? Grade::layout($grade) : 'article_system.layouts.index';
        echo $grade;
        echo $layout;

        return view($layout, $data);

路由:


Route::get('/', function () {
    return redirect('/article_system');
});

Route::get('article_system', 'article_systemController@index');
Route::get('article_system/{slug}', 'article_systemController@showPost');

问题中的报错是在我点开对应gradelinks的那个标签时给的报错,另外,我写的那个任务队列Article_systemIndexData没有bug,在别的视图里用到这个job的地方都没报错,望大神指点迷津啊、、、、、orz

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮世清欢 2022-09-12 08:57:29

使用日期格式化时,需要先在model中设置dates属性:

protected $dates = ['publish_at'];

然后格式化这样写:

{{ $post->publish_at->format('F j, Y') }}
空城仅有旧梦在 2022-09-12 08:57:29

Grade::layout($grade)里返回值是什么样子

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文