laravel报错讲非法标签设置或值为空?
报错信息如下:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用日期格式化时,需要先在model中设置dates属性:
然后格式化这样写:
Grade::layout($grade)里返回值是什么样子