现在在所有4个模型中,我提供的关系为hasmany()
和belongsTo()
。
当我尝试从表中访问某个特定城市并使用下面的代码关联状态时,它运行正常。
$citydetails=City_table::with('states')->find($id);
现在我同时也想访问州的相关国家/地区名称。我试过这样做:
$citydetails=City_table::with('states','countries')->find($id);
这给了我一个错误信息,我知道这种方式它不会工作,因为城市和国家没有直接相关,但我需要访问这样的数据,如果我访问一个特定的城市,那么我希望它的状态为以及它在结果中的国家。
答案 0 :(得分:3)
您可以使用点表示法来访问嵌套关系。引用Laravel Documentation。
要急切加载嵌套关系,您可以使用“dot”语法。对于 让我们热切地加载这本书的所有作者和所有作者 作者在一份Eloquent声明中的个人联系:
$books = App\Book::with('author.contacts')->get();
在您的情况下,这看起来像:
$citydetails = City_table::with('states.countries')->find($id);