Laravel optional() 是如何工作的?

8 浏览
0 Comments

Laravel optional() 是如何工作的?

在创建新模型时,我尝试使用optional()助手在设置时为它们分配值。然而,在此上下文中,当user对象未设置时,我收到以下错误提示:"Undefined property: stdClass::$user"

$this->events()->create([
    'category_a' => optional($event)->categoryA,
    'category_b' => optional($event)->categoryB,
    'user' => optional($event->user)->accountId,
]);

为了澄清,$event始终被设置,但它可能包含不同的值。有时设置了category_a,有时设置了category_b。这里,optional助手似乎起到了作用。但是,当对象深度超过一级时,它会抛出错误。

那么,如何正确使用深度超过一级的对象来处理optional助手呢?

0