Ответы пользователя по тегу Laravel
  • Найти страницу пагинации по ID заказа, ошибка?

    @Ka4_Piton Автор вопроса
    Очень не хотел, но пришлось все сделать с помощью рекурсии, поскольку задачу было нужно решить как можно быстрее.
    Ответ написан
    Комментировать
  • Mailgun и Laravel?

    @Ka4_Piton Автор вопроса
    Относительно лимитов на одновременную отправку - 1000 получателей за запрос.
    Ответ написан
    Комментировать
  • Есть ли практические бесплатные видео уроки по Laravel 5?

    Нормальных уроков вы вряд ли найдете, ну во всяком случае будет не легко.

    Не плохой контроллер https://pastebin.com/iNSy2LJv
    Плохой контроллер https://pastebin.com/iVLzZ7av

    В большенстве обучалок вам покажут, что - это нормально, совать валидацию, работу с базой и вообще, что угодно внутри вашего контроллера. Хотя - это далеко не так.

    В том же, втором примере, есть метод который добавляет данные в базу, вот так - не стоит делать
    $nomenclature = new ModelNomenclature();
            $nomenclature['title'] = $request['title'];
            //Еще какие либо поля
            $nomenclature->save();

    Лучше делать вот так
    $nomenclature = new ModelNomenclature();
            $nomenclature->fill($request->all());
            $nomenclature->save();

    А еще лучше не делать этого в контроллере. В целом laravel дает много разных способов сделать одно и тоже.
    Ответ написан
    Комментировать
  • Laravel many to many?

    @Ka4_Piton Автор вопроса
    Вообщем решение довольно простое. К запросу добавляем следующее
    $products->WhereHas('attrs', function($q){
                    $q->where('value', '3' );
                });


    В конечном итоге запрос, который решает мою проблему, будет выглядеть следующим образом:
    ModelProduct::whereIn('category',$cats)->whereHas('attrs', function($q){
                $q->where('column', 'value');
            })->latest()->get();

    Прописывать withPivot в отношении attrs, совсем не обязательно, можно так
    public function attrs($q)
        {
            return $this->belongsToMany('\App\Models\ModelAttributes','products_attributes','product_id','attribute_id')->withPivot('value');
        }

    а можно так
    public function attrs($q)
        {
            return $this->belongsToMany('\App\Models\ModelAttributes','products_attributes','product_id','attribute_id');
        }

    Но учтите, если вы хотите получить доступ к свойствам промежуточной модели, то в отношении нужно указывать withPivot('поля к которым хотите получить доступ')
    Очень рад, что сам нашел решение, но тостер все еще замечательный, удобный и полезный резурс. Надеюсь, кому-то будет полезно.
    Ответ написан