【问题标题】:Best way for Retrieving data from more tables in Laravel从 Laravel 中的更多表中检索数据的最佳方法
【发布时间】:2020-03-12 19:23:55
【问题描述】:

我是 laravel 的新手,我有一个简单的问题,我正在为我的应用程序编写控制器,我需要做一件简单的事情,我必须返回一个包含更多表数据的模型,你会怎么做? 例如:我需要返回视图一个“评论”,其名称是写评论的“用户”,但模型“评论”只有“id_user”中“用户”的id,我该如何返回带有用户名的评论?

【问题讨论】:

  • 您需要在查询中将表连接在一起
  • 编写连接多个表格的代码。这是文档laravel.com/docs/5.8/queries#joins
  • 设置模型关系,然后laravel.com/docs/master/…
  • 这是个好问题。 1 结果很容易通过连接。但是,如果我们选择许多记录,我认为这并不容易。为了解决这个问题,我使用了 foreach() 并且对于每个结果,我将字段 id 转换为名称。有人帮忙吗?
  • 大家好,感谢您的帮助,非常感谢...从您的链接中阅读文档我发现这似乎是一个非常好的解决方案,即使对于性能laravel.com/docs/master/eloquent-relationships#eager-loading

标签: php mysql laravel


【解决方案1】:

你应该使用评论和用户模型之间的关系,

我建议你先学习关系(在你的情况下,每个用户都可以有很多 cmets)

那么你可以使用One To Many关系

然后使用 'With' 让​​每个用户都使用 cmets,

例如:

$users = App\User::with('comment')->get();

foreach ($users as $user) {

   echo $user->comments->description;

}

希望能帮到你

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多