Ala*_*lan 27 php laravel laravel-collection laravelcollective
我有一个卖方对象,其中有一个相关的用户.我需要填写LaravelCollective的一个选择,所以我需要做这样的事情:
{!! Form::selectGroup('seller_id', 'Seller', Seller::with('user')->pluck('user.first_name', 'id')->toArray(), null) !!}
Run Code Online (Sandbox Code Playgroud)
问题是我无法从关系中获取字段(user.first_name).
我该怎么做?
UPDATE
我想避免这样做......
<?php
$sellers = [];
Seller::with('user')->get()->each(function ($seller) use (&$sellers) {
$sellers[$seller->id] = $seller->user->first_name;
});
?>
Run Code Online (Sandbox Code Playgroud)
Ami*_*pta 43
您可以使用Laravel的pluck方法:
$sellers = Seller::with('user')->get()->pluck('user.first_name', 'id')
Run Code Online (Sandbox Code Playgroud)
小智 19
尝试使用下面的解决方案,它对我有用,因为我正在使用 laravel 8
$sellers = Seller::with('user')->get()->pluck('user.*.first_name')
Run Code Online (Sandbox Code Playgroud)
$s = Seller::join('users', 'sellers.user_id', '=', 'users.id')
->pluck('sellers.id', 'users.id')
->all();
Run Code Online (Sandbox Code Playgroud)
这会给出一个像这样的数组:
[
'seller_id_1' => 'user_id_1',
'seller_id_2' => 'user_id_2',
'seller_id_3' => 'user_id_3',
'seller_id_4' => 'user_id_4',
'seller_id_n' => 'user_id_n',
];
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
28392 次 |
| 最近记录: |