В этом случае вы должны использовать полиморфные c отношения. Как указано в laravel do c
Отношение polymorphi c позволяет целевой модели принадлежать более чем одному типу модели с использованием одной ассоциации.
Таким образом вы можете получать сообщения от моделей Admin и Пользователь .
Определите следующий метод в Сообщение модель.
use Illuminate\Database\Eloquent\Model;
class Message extends Model
{
/**
* Get the owning messageable model.
*/
public function messageable()
{
return $this->morphTo();
}
}
И добавьте следующие столбцы в файл миграции:
$table->unsignedBigInteger('messageable_id');
$table->string('messageable_type');
Затем определите следующий метод в Admin модель.
class Admin extends Model
{
/**
* Get all of the admin's messages.
*/
public function messages()
{
return $this->morphMany('App\Message', 'messageable');
}
}
А в Пользователь модель.
class User extends Model
{
/**
* Get all of the user's messages.
*/
public function messages()
{
return $this->morphMany('App\Message', 'messageable');
}
}