【发布时间】:2015-11-08 07:43:35
【问题描述】:
我有以下路线。
Route::get('/blog/{search}/{slug}', array(
'as' => 'public-blog-filter',
function ($search, $slug) {
if($search == 'search' ) {
$search = 'title';
} elseif($search == 'category') {
$search = 'blog_category_id';
} elseif($search == 'archives') {
$search = 'published_at';
}
//$blogArticleId = trimIdFromSlug($slug);
$blogPosts = Bugz\BlogArticle::where($search, 'LIKE', $slug)->get();
dd($blogPosts);
//show the page:
$viewData = array(
'metaTitle' => 'Blog | ' . config('app.name'),
'metaSectionJs' => 'public-blog-single',
'metaSectionParent' => 'public-blog-single',
'metaSectionUrl' => '/blog/{slug}'
);
return view('public.blog', compact('viewData', 'blogPosts'));
}
));
在我的博客中,人们可以按存档、类别或搜索过滤博客文章。
深入了解他们搜索的内容,我将 $search 变量更改为数据库表中的一列。那么 slug 就是我正在搜索的字符串。
如果我点击“2015 年 10 月”,则 URL 为: /blog/archives/2015-10
在数据库中,记录存储为2015-10-31 11:32:00
但是,即使 published_at 列包含包含我要查找的字符串的记录,查询也没有返回任何内容。
【问题讨论】:
标签: php mysql laravel eloquent