В Laravel 8 доступно несколько методов работы с внешними ключами. Вот некоторые из распространенных методов:
- Метод миграции. При определении внешнего ключа при миграции базы данных вы можете использовать метод
foreign(), чтобы указать столбец внешнего ключа и ссылочную таблицу. Например:
Schema::table('table_name', function (Blueprint $table) {
$table->foreign('column_name')->references('id')->on('referenced_table');
});
- Красноречивые отношения: Laravel предоставляет красноречивые отношения для установления связей между моделями. Вы можете определить такие отношения, как
belongsTo,hasOne,hasManyи т. д., которые автоматически незаметно обрабатывают отношения внешних ключей. Например:
class Post extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
- Построитель запросов: построитель запросов Laravel позволяет выполнять операции с базой данных, используя гибкий интерфейс. Вы можете использовать метод
joinдля объединения таблиц на основе внешних ключей. Например:
DB::table('table1')
->join('table2', 'table1.column', '=', 'table2.column')
->select('table1.*', 'table2.column')
->get();