У меня есть такая структура
table events with column id
table users with column id
table topics with columns id, event_id, user_id
я хочу получить API с
events{
id,
topics{all topics here}, // this part is working
users{users relevant to single topic here} // not sure how to do this
}
мой контроллер выглядит так
class EventsController extends Controller
{
public function index(Request $request)
{
$events = Event::with('topics', 'users')->get();
$response = ['events' => $events];
return response($response, 200);
}...
и моя модель это
class Event extends Model
{
protected $table = 'events';
//
public function topics()
{
return $this->hasMany(Topic::class, 'event_id');
}
public function users()
{
return $this->hasMany(User::class, 'id');
}
}
но пользователи этой модели возвращают только те пользователи, для которых отображается event.id, поэтому если идентификатор события равен 2, я получу только пользователя с идентификатором 2
можно ли как-нибудь написать собственный запрос внутри модели? или вернуть всех соответствующих пользователей? или просто вернуть всех пользователей, но внутри ответа на это событие?