Laravel 5.8新推出雄辩的模型并在一条线上调用存取器?

问题描述 投票:0回答:1

我有一个contact_info_scopes表,其中一个范围是'Default',这可能是最常见的范围,所以我正在创建一个访问器

public function getDefaultScopeIdAttribute()
{
    return $this::where('contact_info_scope', 'Default')
        ->first()
        ->contact_info_scope_uuid;
}

得到defaultScopeId并想知道如何我可以新建ContactInfoScope模型并在一行中访问它。我知道我可以新建它:

$contactInfoScope = new ContactInfoScope();

然后访问它:

$contactInfoScope->defaultScopeId;

但我想在一行中完成这一操作,而不必将类存储在变量中。打开任何其他创造性的方法来解决这个问题,因为这里的访问者可能并不理想!我只是创建一个公共函数(不是作为访问器),但在一行中调用它会有同样的问题。谢谢 :)

php laravel laravel-5 eloquent laravel-5.8
1个回答
1
投票

如果在构造函数方法中返回实例,则应该能够调用模型并链接值

(new ContactInfoScope)->defaultScopeID

没有在Laravel中尝试过,但在普通的PHP中工作

© www.soinside.com 2019 - 2024. All rights reserved.