我想知道如何在laravel集合中添加额外的列,从数据库返回。例如。
用户模型 用户>编号 用户>名称
预订模式 Reservation-> USER_ID Reservation->编号
现在
$users = User::all();
$user_reservation = Reservation::all();
foreach ($users as $user)
{
foreach ($user_reservation as $ur)
{
if ($user->id == $ur->user_id)
{
//Add extra column in to the users model
}
}
}
答案 0 :(得分:0)
$ user-> push(['extra_column'=> $ value]);
答案 1 :(得分:0)
Laravel有一个名为$ appends with Accessors的东西。如何使用
在要添加自定义集合的模型中定义$ append。在我的案例中用户模型
class User extends Model{
protected $appends = ['user_eservation'];
public function getUserReservations($id)
{
return User::where('id', $id)->first();
}
public function getUserReservationAttribute()
{
return $this->getUserReservations(Auth::user()->id);
}
}
现在您可以通过调用getUserReservatoin函数来调用数据库中不可用的自定义属性。
例如
$ users = User :: all(); $ user_reservation = Reservation :: all();
foreach ($users as $user)
{
foreach ($user_reservation as $ur)
{
if ($user->id == $ur->user_id)
{
$user->getUserReservations();
}
}
}