Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 4 » Не находит класс » 06.05.2015 20:34:51

Ongi
Ответов: 1

Проблема у меня глупая - 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 - не помогает

#2 Re: Laravel 4 » Нужна помощь по query builder » 18.01.2015 17:14:29

Так ничего толком и не получилось, поэтому решила ограничиться максимум тремя категориями. Если кому вдруг будет нужно, вот что получилось:

$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();

#3 Laravel 4 » Нужна помощь по query builder » 17.01.2015 22:23:41

Ongi
Ответов: 1

Есть таблица статей, категорий и связующая таблица. Отношение 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, учитывая, что в исходном массиве категорий может быть больше?
Или может есть лучший способ организовать подобный запрос?

#5 Laravel 4 » Проблема с авторизацией в админку » 03.01.2015 20:38:09

Ongi
Ответов: 3

При попытке авторизации появляется сообщение "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
Уже несколько часов бьюсь над проблемой, ничего не получается

Подвал раздела