У меня есть следующий маршрут.Laravel Eloquent - Найти все записи за определенный месяц
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 года", то URL является: /блог/Архивы/2015-10
В базе данных хранятся записи, как 2015-10-31 11:32: 00
Однако запрос ничего не возвращает, хотя столбец published_at содержит записи, содержащие строку, которую я ищу.
Примечание: Это, конечно же, также скажется на поиске по категориям и названиям, поэтому, если у вас есть две категории, разделяющие префикс, такие как «Поток» и «Цветок», вы найдете их, если вы выберете категорию «Поток» ». – svrnm