Короче можно. Вот почему.
Когда вы вызываете метод find
, ORM просматривает все ожидающие свойства, которые будут добавлены в запрос, добавляет их и выполняет запрос. В вашем примере у вас есть два ожидающих правила, которые будут добавлены к вашему запросу. Первый, который вы определяете, очевидно - where('name', '=', 'Paris')
, второй скрыт в отношениях $user->location
.
Когда вы вызываете свойство ORM из отношения, оно фактически возвращает объект ORM, определенный в отношении, который не загружен, но имеет ожидающее предложение where
и join
в своем объекте. Поэтому, когда вы вызываете метод find
в конце, вы вызываете его для объекта местоположения с двумя предложениями where
и одним join
.