Я пытаюсь создать базу данных для системы заявок. В настоящее время я борюсь с самоотносительными отношениями Модели.
Билеты могут иметь ноль-ко-многим «связанных билетов». Если билет связан с другим билетом, он должен быть доступен по отношению $ticket->relatedTickets
.
Например: Ticket # 1 относится к ticket # 2 . Поэтому тикет # 2 также связан с тикетом # 1 .
Я не могу получить отношение $ticket->relatedTickets
для возврата тикет # 1 если я позвоню на тикет # 2 .
Однако на тикет # 1 он вернет тикет # 2 правильно.
Я создал следующую модель:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Ticket extends Model
{
/**
* The attributes that aren't mass assignable.
*
* @var array
*/
protected $guarded = [];
/**
* Get all related tickets.
*/
public function relatedTickets()
{
return $this->belongsToMany('App\Ticket', 'ticket_related', 'ticket_id', 'related_id');
}
}
Моя база данных выглядит (как-то) так:
+-------------+
| tickets |
+-------------+
| id |
| user_id |
| service_id |
| title |
| description |
| is_open |
| due_date |
| created_at |
| updated_at |
+-------------+
+----------------+
| ticket_related |
+----------------+
| ticket_id |
| related_id |
| created_at |
| updated_at |
+----------------+
Как я могу сделать это отношение двунаправленным, так, если два билета связаны, он всегда возвращает другой билет?