Laravel по-русски

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

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

#1 Re: Laravel 5.x » Liqpay не отрабатывает callback » 30.01.2018 11:59:34

Обрати внимание на логи сервера а не Ларавеля, посмотри туда что-то приходит скажем от ликпея постом? Может блок стоит!

#2 Хорошие практики (FAQ) » IoC контейнер, фасады и new Class » 31.10.2017 00:34:26

Alukard19918
Ответов: 1

Почти во всем делаю так как вы написали, можно немного подробней "Используйте IoC или фасады вместо new Class", такого подхода? Чем лучше? Вы написали в плане тестирования... И еще я не пойму ... я повсюду от знакомых слышу что не стоит использовать статические методы у моделей... На вопрос почему мне отвечают...Слишком некрасиво... Но блин я же не создаю экз., а сразу делаю то что мне надо. на сколько я понимаю я экономлю же память.... Можете дать подсказку пожалуйста. Спасибо! Статья крутая прочитал! Еще раз спасибо!

#4 Re: Laravel 5.x » Вывод одного меню на всех страницах » 06.10.2017 00:48:06

public function index() {
$menuTop = DB::table('menu_items')
            ->leftJoin('menus','menu_items.menu_id','=','menus.id')
            ->leftJoin('menu_groups','menu_items.group_menu_id','=','menu_groups.id')
            ->where('menu_items.group_menu_id', '=' ,'1')
            ->get();
  // Тут важно вернуть Json
return response()->json($menuTop);
}

Мне больше нравится так
return (string)$menuTop;

#5 Re: Laravel 5.x » Вывод одного меню на всех страницах » 05.10.2017 21:23:09

Ты можешь использовать например виджеты как быстрый вариант, есть огромное количество пакетов!

https://github.com/arrilot/laravel-widgets

Обязательно установи пакет и попробуй понять как они устроены. Успехов!

#7 Laravel 5.x » Разные контроллеры по одному маршруту » 28.06.2017 17:43:51

Alukard19918
Ответов: 3

Доброго времени суток, мне необходимо по пути /profile, вызывать разные контроллеры в зависимости от роли человека на сайте, дайте направление пожалуйста, middleware?

#8 Re: Laravel 4 » Помогите разобраться с route » 30.05.2017 15:50:27

Как вариант

App\Providers\RouteServiceProvider

$method = 'index';

		if(substr_count($_SERVER['REQUEST_URI'], '/') == 2){
            $method = 'paginate';
            $current_url = explode("/", $_SERVER['REQUEST_URI'])[1];
        }else{
            $current_url = str_replace("/", "", $_SERVER['REQUEST_URI']);
        }

		$page = Page::where('url',$current_url)->first();
		if(!is_null($page))
			$controller_name =  'PageController';

		$product = Product::where('url',$current_url)->first();
		if(!is_null($product))
			$controller_name = 'ProductController';


		if(isset($controller_name)){
			$_ENV['controller_name'] = $controller_name;
			$_ENV['method_name'] = $method;
        }


///////----------------------/////


	if(isset($_ENV['controller_name'])){
		
		Route::get('/{url}', ['uses'=>$_ENV['controller_name'].'@'.$_ENV['method_name']]);
		Route::get('/{url}/{num}', ['uses'=>$_ENV['controller_name'].'@'.$_ENV['method_name']]);
	}

#10 Re: Laravel 5.x » Динамическое имя Базы Данных. » 04.05.2017 14:37:39

сделал след. образом, в миддлвеаре

if (in_array($_SERVER['HTTP_X_REAL_IP'],$arrayIps) or $request->session()->has('ip')) {
                Config::set('database.connections.custom.host', 'localhost');
                Config::set('database.connections.custom.username', $studios[$request->session()->get('ip')]['username']);
                Config::set('database.connections.custom.password', $studios[$request->session()->get('ip')]['password']);
                Config::set('database.connections.custom.database', $studios[$request->session()->get('ip')]['database']);

                Config::set('database.default', 'custom');
                \DB::purge('custom');
                \DB::reconnect('custom');

            return $next($request);
        }

        return redirect('not-ip'

);

#11 Laravel 5.x » Динамическое имя Базы Данных. » 04.05.2017 13:36:53

Alukard19918
Ответов: 3

Доброго времени суток. Поступила задача следующего характера. Есть сайт на который с разных ИП (ИП статические), нуэно подключаться на один сайт, разница лишь в том что от ИП будет меняться база, я это сделал след. образом в файле config/database.php просто вставил массив и сверяю ип адресс и выдаю логин пароль и все данные по подключению и все хорошо, но поступила далее задача, что бы владелец проекта мог зайти с дома на любую базу, тоесть сайт, имитация того что он на нужной базе, я придумал след. сделал через middleweare редирект на страничку где он должен ввести пароль, а этот пароль определит к какой базе он хочет подключиться, но у меня проблема что в файле database.php я не могу обратиться к сессиями или еще чему-то, и немного запутался как мне это сделать.... Буду рад за любой совет.

#13 Re: Laravel 5.x » TokenMismatchException in VerifyCsrfToken.php » 06.02.2017 11:38:03

{{ Form::open() }} << тут автоматически создается инпут хайден с токеном
{{ Form::text('name',null,['class'=>'form-control']) }}
{{ Form::button("Отправить",['type'=>'submit']) }}

Вот используйте это, только фасады добавьте и в config/app ну и посмотрите в эту сторону

#14 Re: Laravel 5.x » Запрос для каталог/товар » 04.02.2017 15:01:01

а у вас опции должны идти вместе с группами ? или в определенном товаре?

#15 Re: Laravel 5.x » Меню » 04.02.2017 00:03:25

Я использовал просто виджет для вывода меню, и там одно условие

#16 Re: Laravel 5.x » Запрос для каталог/товар » 04.02.2017 00:01:36

каждая таблица это отдельная сущность (модель) в них ты связываешь все что тебе необходимо,
я бы value в таблице options перенес в items_options и добавил поле еще туда сортировка, вдруг захочется поменять местами характеристики, если будет какая-то конкретная сложность задавай, так у тебя вроде все просто wink

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