为什么laravel eloquent model在保存后没有id?

时间:2015-05-31 17:21:13

标签: laravel eloquent

我有一个帐户模型。我定义&按照以下方式保存:

$account = new Account();
$account->email = $request->get('email');
$account->name  = $request->get('name');
$account->save();

dd($account->id) // null

为什么帐户ID未更新?我使用autoincremental id字段。 我在数据库中看到了记录。

2 个答案:

答案 0 :(得分:2)

您应该在模型上设置主键。

尝试在您的模型上插入此内容:

protected $primaryKey = "id";

答案 1 :(得分:0)

如果您的Account模型是扩展Pivot而不是Model(是透视模型),则默认情况下它不使用自动递增的id。在这种情况下,您可能有两种选择。

明确设置您的自动增量主键:

class Account extends Pivot {
    protected $primaryKey = "id";
    public $incrementing = true;

    // -- snip --
}

或者您也可以将模型转换为扩展Model

class Account extends Model {}