首先,我不太熟悉Laravel(或者说"脏"这个词).我偶然发现了这行代码 -
if ($this->isDirty('status')) {
if (Notification::has('website-status-' . strtolower($this->status))) {
Notification::set($this->account, 'website-status-' . strtolower($this->status), $this->emailAttributes())
->email();
}
}
Run Code Online (Sandbox Code Playgroud)
而我无法理解这究竟意味着什么.我试图在互联网上找到,但Laravel网站只说这个 - "确定一个给定的属性是否脏",这实际上没有帮助......
雄辩地使用“ with”时,有没有办法只选择特定的列?
我的问题是我的帐户列表很长,我还需要使用“ with”关系来获取其网站,但是“ websites”对象很大,这会使请求非常缓慢。
我尝试使用:
$accounts = $accounts->with('websites')->select(['account_id','url']);
Run Code Online (Sandbox Code Playgroud)
并且:
$accounts = $accounts->with('websites', function($query) {
$query->select(['account_id','url']);
});
Run Code Online (Sandbox Code Playgroud)
他们俩都没有工作。
我在他们的文档中没有找到答案,因此,如果有一种方法,如果有人与我分享,我将不胜感激。同样,如果有“ with”的替代方案也能带来相同的结果,那也将是一件很不错的事情。谢谢。