访问Laravel 5.2

时间:2016-06-09 02:21:50

标签: php mysql laravel laravel-5 relationship

enter image description here

现在在所有4个模型中,我提供的关系为hasmany()belongsTo()

当我尝试从表中访问某个特定城市并使用下面的代码关联状态时,它运行正常。

 $citydetails=City_table::with('states')->find($id);

现在我同时也想访问州的相关国家/地区名称。我试过这样做:

 $citydetails=City_table::with('states','countries')->find($id);

这给了我一个错误信息,我知道这种方式它不会工作,因为城市和国家没有直接相关,但我需要访问这样的数据,如果我访问一个特定的城市,那么我希望它的状态为以及它在结果中的国家。

1 个答案:

答案 0 :(得分:3)

您可以使用点表示法来访问嵌套关系。引用Laravel Documentation

  

要急切加载嵌套关系,您可以使用“dot”语法。对于   让我们热切地加载这本书的所有作者和所有作者   作者在一份Eloquent声明中的个人联系:

     

$books = App\Book::with('author.contacts')->get();

在您的情况下,这看起来像:

 $citydetails = City_table::with('states.countries')->find($id);