获取最近更新的id hasMany关系

Getting the id of recently updated hasMany relationship

我正在做一个项目,我需要更新控制器中的两个相关模型。下面,我正在为一个可以有很多交易的用户创建一个交易记录。之后,我需要访问最近创建的交易的 ID,但由于那是 hasMany 关系,laravel 会引发错误。

用户模型

public function transaction()
{
    return $this->hasMany('App\Model\Transaction');
}

控制器

    $user->transaction()->create([
        ...
        ...
    ])->save();

    $devUnit = new DevUnit();
    $devUnit->transaction_id = $user->transaction()->id; //this throws an error

错误

Undefined property: Illuminate\Database\Eloquent\Relations\HasMany::$id

抱歉,完全误读了你的问题。

create 方法的结果保存到一个变量,以访问具有 ID 的填充模型。

$transaction = $user->transaction()->create([
    //
]);

$timeshareUnit = new TimeshareUnit();
$timeshareUnit->transaction_id = $transaction->id;