Задать вопрос
Ответы пользователя по тегу Laravel
  • Как сделать сортировку по условию в Laravel?

    @GssGenic
    Программист со стажем более 20 лет.
    Я бы предложил

    // подготовка запроса 
    $query =  User::where('is_deleted', '0')
          ->with(['langs', 'categories'])
          ->where('is_published', true)
          ->where('subscription', '>=', now())
          ->orderBy('balls', 'DESC');
    
    // Проверка на условие 
    if ($query->where('top_date', '>=', now())->count()) - будет лишний запрос в базу и если не 0 то добавляем к запросу сортировку.
         {$query = $query->orderBy('top_date', 'DESC');}
    
    // выполнение Запроса.
    $query = $query->filter($filters)
                              ->paginate(15);


    В Этом случае нагрузку передаем на SQL сервер.
    Ответ написан
  • Laravel запрос с with и where?

    @GssGenic
    Программист со стажем более 20 лет.
    Я бы использовал ::where(....)->joinLeft(....)->select('orders.*' , 'offers.* as offer')->get();
    select нужен чтобы id поле offers не заменило поле id таблицы orders
    Ответ написан
    Комментировать
  • Как создать контроллер в подпапке (Laravel)?

    @GssGenic
    Программист со стажем более 20 лет.
    В routes\web.php к примеру создаем маршрут

    Route::get('/wiki', 'wiki\HomeController@index')->name('wiki');


    И Создаем Контроллер в подпапке App\Http\Controllers\Wiki
    В нее кладем файл контроллера

    HomeController.php

    <?php
    
    namespace App\Http\Controllers\Wiki;
    use App\Http\Controllers\Controller;
    
    class HomeController extends Controller
    {
        public function __construct()
        { 
    		
        }
      
       public function index()
        {
    		// Your Code
        }
    }


    На что смотрим.
    1. В пути Маршрута для Указания Подкаталога используем '\'
    2. В Контроллере не забываем, что при создании Класса он Расширяет класс Controller, файл которого лежит в предыдущей папке , и на него нужно сослаться use App\Http\Controllers\Controller
    Ответ написан
    Комментировать
  • Как добавить элемент в коллекцию Laravel?

    @GssGenic
    Программист со стажем более 20 лет.
    foreach ($users as $user){
    $user->setAttribute($key,$val)
    }

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

    тут методы Eloquent модели.
    https://laravel.com/api/5.7/Illuminate/Database/El...
    Ответ написан
    Комментировать