Автор оригинала: David Wong.
1. Обновление меток времени родительской таблицы
Если вы хотите обновить родительскую таблицу при обновлении связанной таблицы метки времени Вам просто нужно связать таблицу модель Добавьте атрибут прикосновения . Например, у нас есть Сообщение и Комментарий Два Модели Релевантности
2. Медленная загрузка указанных полей
$posts = App\Post::with('comment:id,name')->get();3. Контроллер, назначенный для перехода, с параметрами
return redirect()->action('[email protected]', ['param' => $value]);4. Использовать в сочетании с Default()
При вызове ассоциации, если другой модели не существует, система выдает фатальную ошибку, такую как $комментарий->сообщение->заголовок Поэтому нам нужно использовать по умолчанию()
...
public function post()
{
return $this->belongsTo(App\Post::class)->withDefault();
}5. Использование в двухуровневых циклах$loop
останься лезвие Из каждого Если вы хотите получить переменные внешнего цикла
@foreach ($users as $user)
@foreach ($user->posts as $post)
@if ($loop->parent->first)
This is first iteration of the parent loop.
@endif
@endforeach
@endforeach6. Просматривайте почту, не отправляя ее
Если вы используете для отправки по почте Чтобы отправить электронное письмо, вы можете показать его, не отправляя.
Route::get('/mailable', function () {
$invoice = App\Invoice::find(1);
return new App\Mail\InvoicePaid($invoice);
});7. Соответствующие Записи Запросов
останься хасМани В ассоциативных связях можно запрашивать записи, число ассоциативных записей которых должно быть больше 5.
$posts = Post::has('comment', '>', 5)->get();8. мягкое удаление
Просмотр записей, содержащих мягкие удаления
$posts = Post::withTrashed()->get();
Просмотр записей, которые являются только мягко удалено
$posts = Post::onlyTrashed()->get();
Восстановление Моделей Мягкого Удаления
Post::withTrashed()->restore();
9. Красноречивый метод времени
$posts = Post::whereDate('created_at', '2018-01-31')->get();
$posts = Post::whereMonth('created_at', '12')->get();
$posts = Post::whereDay('created_at', '31')->get();
$posts = Post::whereYear('created_at', date('Y'))->get();
$posts = Post::whereTime('created_at', '=', '14:13:58')->get();Оригинал: “https://developpaper.com/laravel-9-infrequent-tips/”