У меня есть эта очень простая линия:Eloquent - изменить обратный формат
$user["emails"] = $user->emails()->get(array('email'));
Когда вернулся в JSON это дает массив объектов
0 : {email: "[email protected]", pivot: {user_id: "1", email_id: "1", confirm: "1"}},
1 : {email: "[email protected]", pivot: {user_id: "1", email_id: "2", confirm: "0"}},
2 : {email: "[email protected]", pivot: {user_id: "1", email_id: "3", confirm: "0"}}
При необходимости, пользователь-сообщения электронной почты() функции:
return $this->belongsToMany('App\Email', 'user_email')->withPivot('confirm');
Я бы хотел, чтобы возвращаемые данные были проще. Нравится так:
0 : "[email protected]",
1 : "[email protected]",
2 : "[email protected]"
Спасибо заранее!
При попытке вашего решения отправляется только первое электронное письмо. Нет массива, только «[email protected]» –
В соответствии с документацией это вернет массив столбца электронной почты для всех возвращенных результатов. – ollieread
'pluck()' будет возвращать коллекцию, если вам нужен массив '-> pluck ('email') -> all()'. См. Http://devdocs.io/laravel~5.3/api/5.3/illuminate/database/eloquent/builder#method_pluck для получения дополнительной информации. – Robert