Laravel по-русски
Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Проблема у меня глупая - Class Front\VideoController does not exist
В роутах: Route::get('channel', 'Front\VideoController@index');
Контроллер:
namespace Front;
use Illuminate\Support\Facades\View;
class VideoController extends \BaseController {
public function index() {
return View::make('frontend.channel');
}
}
Вроде же все правильно... в чем может быть проблема?
composer dump-autoload - не помогает
Так ничего толком и не получилось, поэтому решила ограничиться максимум тремя категориями. Если кому вдруг будет нужно, вот что получилось:
$num_categories = count($filter['selected_category']);
$query = DB::table('articles');
switch ($num_categories) {
case 1:
$query->join('article_category as ac', 'articles.id', '=', 'ac.article_id')
->where('ac.category_id', '=', $filter['selected_category']);
break;
case 2:
$query->join('article_category as ac1', 'articles.id', '=', 'ac1.article_id')
->join('article_category as ac2', 'ac1.article_id', '=', 'ac2.article_id')
->where('ac1.category_id', '=', $filter['selected_category'][0])
->where('ac2.category_id', '=', $filter['selected_category'][1]);
break;
case 3:
$query->join('article_category as ac1', 'articles.id', '=', 'ac1.article_id')
->join('article_category as ac2', 'ac1.article_id', '=', 'ac2.article_id')
->join('article_category as ac3', 'ac2.article_id', '=', 'ac3.article_id')
->where('ac1.category_id', '=', $filter['selected_category'][0])
->where('ac2.category_id', '=', $filter['selected_category'][1])
->where('ac3.category_id', '=', $filter['selected_category'][2]);
break;
default:
break;
}
$data['articles'] = $query->get();Есть таблица статей, категорий и связующая таблица. Отношение ManyToMany.
Нужно получить статьи, которые одновременно находятся в указанных категориях (id категорий получаем массивом из формы).
На sql получилось так:
SELECT * FROM `articles` as a
JOIN `article_category` as p1
JOIN `article_category` as p2
on (p1.article_id=p2.article_id and p1.category_id=16 and p2.category_id=51)
where a.id=p1.article_idКак это теперь переписать на query builder, учитывая, что в исходном массиве категорий может быть больше?
Или может есть лучший способ организовать подобный запрос?
Спасибо, отладчик помог ![]()
При попытке авторизации появляется сообщение "Whoops, looks like something went wrong". Статус страницы 500 internal server error.
Контроллер:
<?php namespace Admin;
class AdminController extends \BaseController {
public function index() {
$data = Input::all();
if (Auth::attempt([ 'email' => $data['email'], 'password' => $data['password'] ], true)) {
if (Auth::usermodel()->user_group == 1) {
return View::make('backend.index');
} else {
return Redirect::to(URL::previous());
}
} else {
return "error";
}
}
}Роуты:
Route::group([ 'prefix' => 'admin' ], function() {
Route::get('/', function() {
return View::make('backend.login');
});
Route::post('/index', 'Admin\AdminController@index');
Route::get('/index', function() {
if (Auth::check()) {
return View::make('backend.index');
} else {
return Redirect::to('/admin');
}
});
});Папка backend с контроллером добавлена в composer.json
Уже несколько часов бьюсь над проблемой, ничего не получается