1

我想知道如何在 laravel 集合中添加额外的列,从数据库返回。例如。

用户模型 User->id User->name

预留模型预留->user_id 预留->id

现在

$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
            }
        }
    }
4

2 回答 2

0

$user->push(['extra_column' => $value]);

于 2017-07-17T11:19:27.680 回答
0

Laravel 有一个名为 $appends 的访问器。如何使用它

在要添加自定义集合的模型中定义 $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 = 用户::all(); $user_reservation = 预订::all();

foreach ($users as $user)
{
    foreach ($user_reservation as $ur) 
    {
        if ($user->id == $ur->user_id) 
        {
        $user->getUserReservations();
        }
    }
}
于 2017-07-18T10:21:49.307 回答