Php 类闭包的对象无法转换为laravel中的字符串
类闭包的对象无法转换为laravel中的字符串, 我正试图按月按年发帖 这是控制器Php 类闭包的对象无法转换为laravel中的字符串,php,laravel,Php,Laravel,类闭包的对象无法转换为laravel中的字符串, 我正试图按月按年发帖 这是控制器 public function getPostsByArchive($slug) { $archiveposts = \Canvas\Post::whereDate('published_at', date('F-Y'),function ($query) use ($slug) { $query->where('published_at', date('F-Y'),
public function getPostsByArchive($slug)
{
$archiveposts = \Canvas\Post::whereDate('published_at', date('F-Y'),function ($query) use ($slug) {
$query->where('published_at', date('F-Y'), $slug);
})->published()->orderByDesc('published_at')->get();
return view('posts.archive', compact('archiveposts'));
}
这是路线
Route::get('archive/{slug}', 'PostController@getPostsByArchive')->name('posts.archive');
您错误地使用了
whereDate
,将闭包作为第三个参数传递会导致错误。相反,您可以使用MySQL的函数在列中使用并格式化您的发布内容:
$archiveposts=\Canvas\Post
::whereRaw(“日期格式(发布于,'%M-%Y')=?,[$slug])
->已出版()
->orderByDesc('published_at')
->get();
返回视图('posts.archive',compact('archiveposts');
您在哪一行收到错误?请指定错误。行内没有错误,我在整个函数中遇到错误