mysql 如何在laravel集合中添加额外元素

hjqgdpho  于 2023-01-16  发布在  Mysql
关注(0)|答案(2)|浏览(173)

我想知道如何在laravel集合中添加额外列,从数据库返回。例如。
用户模型用户-〉id用户-〉名称
保留模型保留-〉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
            }
        }
    }
5f0d552i

5f0d552i1#

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 =用户::全部();$用户预订=预订::全部();

foreach ($users as $user)
{
    foreach ($user_reservation as $ur) 
    {
        if ($user->id == $ur->user_id) 
        {
        $user->getUserReservations();
        }
    }
}
iszxjhcz

iszxjhcz2#

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

相关问题