Ответы пользователя по тегу Laravel
  • Валидация при множественном Request - e и их одновременная проверка?

    @halenharper
    Немного не понятно.
    Речь идет о сохранении данных формы редактирования профиля пользователя?
    Если так, то не понимаю, что мешает данные формы для валидации сложить в один Request?
    Поля все по разному называются, дублирования не будет.
    А после прихода дынных в контроллер User сохранить все в нужные тпблицы.
    public function store_user(UserRequest $request)
    {
    $user = new User();
    $user-> login = $request['login];
    //....
    $user->save();
    
    $address = new AddressBook();
    $address-> full_name = $request['full_name];
    //....
    $address->save();
    //ну или
    $user = User::create($request->all());
    $address_book = AddressBook::create($request->all());
    //по идее тоже должно сработать
    }
    Ответ написан
  • Routing в Laravel 5. Как избавиться от id в ссылках?

    @halenharper Автор вопроса
    Не знаю как тут правильно быть, как отметить решение.
    Я принял за ответ совет D' Normalization.

    Ну так генерируйте slug для brand_name и model_name и храните их так же в БД.

    Сделал slug и к ним обращаюсь вместо id
    Ответ написан
    Комментировать
  • Как поменять язык в laravel?

    @halenharper
    Мне стандартный способ Laravel не понравился.
    Надо писать фильтр, функцию, роут, меню.
    Решил использовать Laravel Localization
    Все подробно описано, все функции написаны. Просто вставить.

    Но если интересно, то вот как работало стандартными средствами:
    Middleware:
    public function handle($request, Closure $next)
        {
            $language = Request::cookie('lang', Config::get('app.locale'));
    
            App::setLocale($language);
    
            return $next($request);
        }


    Route:
    Route::group([ 'middleware' => ['maintenance_mode', 'locale']], function()
    {
        //Change language
        Route::get('set_lang/{id}', ['as' => 'set_lang', 'uses' => 'HomeController@set_lang']);
    }


    Controller:
    public function set_lang($id){
            $response = new \Illuminate\Http\Response('Set Lang');
            return $response->withCookie(cookie()->forever('lang', $id));
        }

    Само меню переключения во View:
    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                            {{ trans('main.'.config('app.locales')[Config::get('app.locale')]) }} <i class="fa fa-caret-down"></i>
                        </a>
                        <ul class="dropdown-menu dropdown-langs">
                            @foreach(config('app.locales') as $k=>$val)
                                @if(config('app.locale') != $k)
                                    <li><a href="{{ route('set_lang', ['id' = $k]) }}"> {{ trans('main.'.$val) }}</a></li>
                                @endif
                            @endforeach
                        </ul>
                        <!-- /.dropdown-user -->
                    </li>
    Ответ написан
    Комментировать
  • Laravel 5 и шаблон 404: как передать данные в шаблон?

    @halenharper
    ОШИБКИ И ЛОГИРОВАНИЕ
    в файле /app/Exceptions/Hadler.php
    public function render($request, Exception $e)
    	{
    		if ($e instanceof \Illuminate\Database\Eloquent\ModelNotFoundException) {
    			return abort(404);
    		}
    
    		return parent::render($request, $e);
    	}


    Таким же образом отлавливаются остальные коды ошибок
    Ответ написан
  • Laravel подсчет новостей в выбранной категории (включая подкатегории)?

    @halenharper
    На скорую руку, если я правильно понял, вывод на сайт:
    @foreach(Categories::all() as $category)
    {{ $category->name }} <span class="badge">{{ Post_categories::where('categories_id', $category->id)->count() }}</span>
    @endif

    Как модели построены?

    UPD
    Модель для категорий:
    class Categories extends Model {
    
        public function posts()
        {
    //Получаем множество постов, опубликованных в категории
            return $this->hasMany('App\PostCategories', 'categories_id', 'id');
        }
    
    }


    В контроллеле:
    public function index(){
    //Получаем коллекцию категорий, где есть посты. Есть постов в категории нет, то ее не будет в выборке.
            $categories = Categories::has('posts')->get();
            return view('index', compact('categories'));
        }


    Во вьюхе:
    @foreach($categories as $category)
    {{ $category->name }} <span class="badge">{{ $category->posts->count() }}</span>
    @endif
    Ответ написан
    1 комментарий
  • Как сохранить атрибуты формы поле возврата на страницу через нажатие кнопки Назад в браузере?

    @halenharper Автор вопроса
    Можно закрывать.
    После развертывания приложения на сервере проблема исчезла.
    Проблемы на локальной машине остались. Mac OS 10.10, MAMP. PHP 5.6.2, Laravel 5.0.
    Ответ написан
    Комментировать