В Laravel есть несколько способов прокинуть значение из одной таблицы в другую. Один из наиболее распространенных способов - использование отношений между моделями.
Допустим, у нас есть две таблицы - "users" и "orders". Таблица "users" содержит информацию о пользователях, а таблица "orders" содержит информацию о заказах. Пусть у нас есть поле "user_id" в таблице "orders", которое должно содержать идентификатор пользователя, связанного с данным заказом.
Для связывания этих двух таблиц вам понадобится создать модели "User" и "Order". В модели "User" вы можете определить связь "hasMany" с моделью "Order", а в модели "Order" - связь "belongsTo" с моделью "User".
Пример кода:
// User.php
namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { public function orders() { return $this->hasMany(Order::class); } }
// Order.php
namespace App; use IlluminateDatabaseEloquentModel; class Order extends Model { public function user() { return $this->belongsTo(User::class); } }
Теперь, когда у нас есть связь между моделями, вы можете получить доступ к данным пользователя из заказа или наоборот.
Пример кода:
$order = Order::find(1); $user = $order->user;
В этом примере мы получаем заказ с идентификатором 1 и затем получаем связанного с ним пользователя.
Также вы можете использовать эти связи при создании нового заказа и автоматически устанавливать значение поля "user_id" при создании записи:
$user = User::find(1); $order = new Order; $order->user()->associate($user); $order->save();
В этом примере мы создаем новый заказ и связываем его с пользователем с идентификатором 1.