在save方法中从Laravel检索触发器生成的UID

时间:2017-08-03 22:19:16

标签: php laravel

我的情况是我的模型中没有使用自动递增 ID。

相反,我使用字符串uid ,g 由MySQL触发器自动激活

所以,当我创建一个模型时,例如

"This is foo>"

我的ID为空。发生这种情况是因为我的"This <is foo>"必须设置为false。

如何在$foo = new Foo(); $foo->bar = "bar"; $foo->save(); echo $foo->id; // null

检索此触发器已保存值?

1 个答案:

答案 0 :(得分:0)

我正在阅读API of Laravel 5.4(假设您使用的是此版本),并在那里找到了我的信息:

array getDirty()方法:

$foo->save();
$newAttributes = $foo->getDirty();
dd($newAttributes); // dump an array.

void refresh()方法:

$foo->save();
$foo->refresh();
dd($foo->id)

最后一个解决方案,从QueryBuilder中找到where()的实例:

$foo->save();
Foo::where('bar', $foo->bar)
    ->where('toto', $foo->toto)
    /* ... */
    ->get();
dd($foo->id);