Для создания реляционной связи в Laravel можно использовать механизм Eloquent ORM.
1. Сначала необходимо создать модели для каждой таблицы в базе данных. Допустим, у вас есть таблицы "users", "shops" и "delivery_points" (ПВЗ). Создайте модели для этих таблиц, используя команду artisan:
```
php artisan make:model User
php artisan make:model Shop
php artisan make:model DeliveryPoint
```
2. В модели User определите связь с моделью Shop. Для этого используйте метод `hasMany`:
```php
class User extends Model
{
public function shops()
{
return $this->hasMany(Shop::class);
}
}
```
3. В модели Shop определите связь с моделью DeliveryPoint. Используйте метод `hasMany`:
```php
class Shop extends Model
{
public function deliveryPoints()
{
return $this->hasMany(DeliveryPoint::class);
}
}
```
4. Теперь вы можете получить все ПВЗ пользователя, используя созданную реляцию. Например, можно получить все ПВЗ для пользователя с идентификатором 1:
```php
$user = User::find(1);
$deliveryPoints = $user->shops->flatMap->deliveryPoints;
```
Обратите внимание, что в данном случае мы сначала получаем все магазины пользователя `$user->shops`, а затем с помощью `flatMap` объединяем все ПВЗ всех магазинов в одну коллекцию `$deliveryPoints`.
Таким образом, вы сможете получить все ПВЗ для пользователя из его магазинов, используя реляционные связи в Laravel.