我要解决两种问题。
第一件事:
其中之一是使用merge将两个对象组合在一起,以消除重复的行:
PMSReservationID: "23".
寻找一种使用合并功能摆脱这三行的方法:
$lead -> foreach of $leads = Lead::all();
$tempUser = DB::table('users')
->select('phone','email', DB::raw('CONCAT(users.first_name, " ", users.last_name) AS name'))
->where('id', $lead->customer_id)
->first();
$lead->name = $tempUser->name;
$lead->phone = $tempUser->phone;
$lead->email = $tempUser->email;
第二件事:
我试图使用地图功能,以使选择列表的用户列表数组。它使我成为另一个数组中的一个数组,而我不知道如何摆脱它。
$lead->name = $tempUser->name;
$lead->phone = $tempUser->phone;
$lead->email = $tempUser->email;
输出:
数组 ( [0] =>数组 ( [1] =>邮件列表 ) [1] =>数组 ( [3] =>邮件列表2 ) )
愿望:
数组 ( [1] =>邮件列表 [3] =>邮件列表2 )
感谢您的帮助与支持...!
答案 0 :(得分:0)
您必须改用reduce:
$lists = collect($mailingLists)->reduce(function($carry, $mailingLists){
if (!$carry[$mailingLists->id]) {
$carry[$mailingLists->id] = $mailingLists->name;
}
return $carry;
}, []);
首先,您可以使用fill
或update
方法(填充不会保存信息,您必须先调用save
方法)
对于数据库调用,请使用pluck
方法:
->where('id', $lead->customer_id)
->pluck('name', 'phone', 'email') // getting only these fields
->first();
$lead->update($tempUser); // update direcly with tempUser fields