Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
php:laravel [2024/11/04 20:55] 192.168.1.159php:laravel [2024/11/04 22:13] (текущий) – [Видеоуроки] 192.168.1.159
Строка 16: Строка 16:
   * https://laravel.com/docs/11.x/releases (EN)   * https://laravel.com/docs/11.x/releases (EN)
   * https://www.slingacademy.com/article/when-to-use-and-when-not-to-use-laravel/   * https://www.slingacademy.com/article/when-to-use-and-when-not-to-use-laravel/
 +
 +===== Видеоуроки =====
 +
 +  * [[https://www.youtube.com/playlist?list=PLze7bMjv1CYtGKFuL_8G0OxsSMmvHE6Xc|Курс по Laravel для начинающих]]
 +  * [[https://www.youtube.com/playlist?list=PLoonZ8wII66h2eXaNdSATK8zkFQ4LxUmt|Laravel - October CMS]]
 +  * [[https://www.youtube.com/playlist?list=PLoonZ8wII66g5zNGjbHiapYZfnX106lRN|October CMS - Создание компонент]]
 +  * [[https://www.youtube.com/playlist?list=PLXCVm4GFpx5DMQeuzyQwZW8QtslxsUxFy|Laravel Helpers]]
 +  * [[https://www.youtube.com/playlist?list=PL3-0tsv0n0zYa0nNtDzq0kS-Ha6l95w3X|Laravel уроки]]
 +  * [[https://www.youtube.com/playlist?list=PLNvHH49JXUUCeFbIl23lHCLO1tTmKWBtn|Фреймворк Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLTucyHptHtTkUbXaikXEmCWL8GradRx9I|Курс по Laravel 8 обучение с нуля. Бесплатные видеоуроки по Ларавел для начинающих]]
 +  * [[https://www.youtube.com/playlist?list=PL8jSdafHd96wsHGWVlS3_BxHS5FJ4ReND|Курс по Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t9xFti7HJm8-hAM0XAjzQim|Платные практические курсы]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t9UEjGQHafQB751mf5cwqNv|Шаг 5. Laravel курс. Интернет Магазин]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8foG_gKb31q7xnAtaOCFBw|Шаг 4.3. CI/CD в целом и CI/CD для Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t9Ert8mBlNl1UqwllyP1Tm_|Шаг 4.2. Docker в целом и Docker для Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t-Dy5nO8CnPEvH_ERwZzDSk|Шаг 3.3. Полный курс Laravel Vue работа с Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t9g9HYi_MyogUfuGeHMjFqF|Шаг 3.2. Курс Laravel Sanctum c vuejs]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8OTGDdiHJdS3gkdoKajpX9|Шаг 3.1. Курс JWT с Vuejs для Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8XxpP2j3-Jy90jSJftNsOC|Шаг 3. Курс Js и Vuejs для Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8StX6GztbdMIUXmgPuingB|Шаг 2. Laravel курс. Блог]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8pnG4ubQemoqnTwf0VFEtU|Laravel курс с нуля, база. 0. Первый проект на Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t-Q2S8Cgo6a41rvee0f_sCG|SQL курс для Laravel]]
 +  * [[https://www.youtube.com/playlist?list=PLd2_Os8Cj3t-CoUEdoAiYc1sj21FH79no|PHP курс для Laravel с нуля]]
 +  * [[https://www.youtube.com/playlist?list=PLXCVm4GFpx5CZf4X5ppNJTPsaGwSlBXLX|Laravel (полный курс 2023)]]
 +  * [[https://www.youtube.com/playlist?list=PLoonZ8wII66iP0fJPHhkLXa3k7CMef9ak|Laravel 8 - Видеокурс]]
 +
  
 ===== Старт проекта ===== ===== Старт проекта =====
Строка 29: Строка 55:
   * https://github.com/Askedio/laravel-soft-cascade   * https://github.com/Askedio/laravel-soft-cascade
   * https://github.com/Mirocow/laravel-rabbitmq   * https://github.com/Mirocow/laravel-rabbitmq
 +
 ===== Запросы на чтение ===== ===== Запросы на чтение =====
  
Строка 173: Строка 200:
  $query->where('title', 'like', 'PHP%');  $query->where('title', 'like', 'PHP%');
 })->get(); })->get();
 +</code>
 +
 +=== Метод "withWhereHas()" ===
 +
 +<code php>
 +use Illuminate\Database\Eloquent\Builder;
 +
 +Builder::macro('withWhereHas', fn($relation, $constraint) =>
 + $this->whereHas($relation, $constraint)->with([$relation => $constraint]);
 +);
 </code> </code>
  
Строка 211: Строка 248:
     $query->where('year', now()->format('Y'));     $query->where('year', now()->format('Y'));
 }])->get(); }])->get();
 +</code>
 +
 +<code php>
 +$books = Book::with(['author.awards' => function ($query) {
 +    $query->where('year', now()->format('Y'));
 +}])->whereHas('author.awards', function ($query) {
 +    $query->where('year', now()->format('Y'));
 +})->get();
 +</code>
 +
 +<code php>
 +$filter = function ($query) {
 +    $query->where('year', now()->format('Y'));
 +};
 +
 +$books = Book::with(['author.awards' => $filter])
 +    ->whereHas('author.awards', $filter)
 +    ->get();
 </code> </code>