【问题标题】:Eloquent ORM with multiple models具有多种模型的 Eloquent ORM
【发布时间】:2017-04-10 10:06:28
【问题描述】:

我正在尝试创建一个新的 Web 应用程序,目前我创建了一个包含一些信息的静态数组,如下所示:

array(5) { 
    ["id"]=> int(1) 
    ["firstname"]=> string(6) "martin" 
    ["lastname"]=> string(1) "r" 

    ["school"]=> array(3) { 
        ["id"]=> string(1) "3" 
        ["name"]=> string(22) "tallinna polütehnikum" 
        ["role"]=> string(7) "student" 
    } 

    ["lessons"]=> array(2) { 
        [0]=> array(3) { 
            ["id"]=> int(1) 
            ["name"]=> string(10) "eesti keel" 
            ["grades"]=> array(2) { 
                [0]=> array(2) { 
                    ["id"]=> int(1) 
                    ["grade"]=> int(4) 
                } 
                [1]=> array(2) { 
                    ["id"]=> int(3) 
                    ["grade"]=> int(5) 
                } 
            } 
        }

        [1]=> array(3) {
            ["id"]=> int(2) 
            ["name"]=> string(11) "matemaatika" 
            ["grades"]=> array(1) {
                [0]=> array(2) { 
                    ["id"]=> int(2) 
                    ["grade"]=> int(3)
                } 
            } 
        } 
    } 
}

我也有这样的模型:

  • 用户
  • 学校
  • 等级
  • 课程

课程表有 school_id 外键。

School 表有 admin_id 外键。

Grades 表有 lesson_idteacher_iduser_id 外键。

我无法像之前展示的那样生成动态数组。 我尝试使用

->with('grades')->with('lessons')

但它并没有做我想做的任何事情。

也许有人可以给我一些指示?

【问题讨论】:

  • 哦,是的,使用 laravel 5.4,如果这很重要的话。
  • 请不要将代码发布为图片。将您的文本格式化为代码,这将使想要帮助您的人的生活更轻松
  • 哎呀,要解决这个问题。

标签: php mysql laravel orm eloquent


【解决方案1】:

你可以这样试试:

App\User::with('school', 'grades', 'lessons')->find(1)->toArray();

你应该得到一个类似于你想要的数组。

【讨论】:

    猜你喜欢
    • 2015-10-29
    • 2018-04-12
    • 1970-01-01
    • 2018-01-08
    • 2011-04-05
    • 2016-02-21
    • 2019-05-21
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多