Я хочу, чтобы все пользователи были связаны с определенным разговором. В сводной таблице user_id
столбцы user_id
и user_id
. user_id
и user_id
ссылаются на столбец id
в таблице пользователей и user_id
.
Так я и сделал :
Conversations::find($conv_id)->users()
Это нормально, но он возвращает все детали связанного пользователя. Основываясь на приведенном выше коде, как мне возвращать только определенные столбцы пользователя, такие как id
и name
?
Ps Кроме того, я знаю, что могу сделать это, создав модальную для сводной таблицы, но это похоже на перебор. Хорошая практика создания модальной для сводной таблицы?
я пытался
Conversations::select('id','name')->find($conv_id)->users()->get()->toArray();
но результат все тот же.
Я также пробовал
Conversations::find($conv_id)->users()->get(array('id','name'))->toArray();
но он дает ошибку:
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous..
Спасибо за ваше время.
Поскольку вы выбираете данные из двух таблиц, которые содержат поле с именем id
, поэтому почему вы получаете Column 'id' in field list is ambiguous...
ошибкой.
Если вы повторите один и тот же запрос, но определите, какой id
вы хотите выбрать, используя точечную нотацию в форме table.field
он должен работать.
Conversations::find($conv_id)->users()->get(array('users.id','name'))->toArray();