为什么这两行代码在抓取相同的数据时会提供不同的集合集呢?
How come these two lines of code provide different sets of collections when they are grabbing the same data?
我一直在尝试 Laravel 5 作为 Spring 启动设置的替代方法。
$employees = App\Employee::all();
$employees = DB::table('employees')->get();
我读到这两行代码做的事情完全一样,从我的 'employees' table 中检索所有记录。这在某种程度上是正确的,但是第一行虽然更加简洁明了,但提供了一个更加冗长和嵌套的集合,表示相同数量的记录
Employee {#180 ▼
#connection: null
#table: null
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:3 [▶]
#original: array:3 [▶]
#casts: []
#dates: []
#dateFormat: null
#appends: []
#events: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: array:1 [▶]
}
对比
{#173 ▼
+"id": 3
+"username": "deren"
+"password": "noob"
}
对于第一个集合,与第二个集合相同的信息包含在原始内容中。两者之间有什么区别?为什么通过 Eloquent 的第一个查询包含更多的元数据?我觉得它与它提供的口才(请原谅双关语)相矛盾,尤其是考虑到我不知道如何访问原始数组中的数组。如果有所不同,我正在使用 dd() 转储包含集合的变量。
$employees = App\Employee::all();
这会读取数据库 table,将每一行变成特定模型 class 的一个实例,并 returns 它们及其所有添加的属性、方法等。
$employees = DB::table('employees')->get();
这会读取数据库 table 并将每一行转换为标准 class。它不知道模型。
我一直在尝试 Laravel 5 作为 Spring 启动设置的替代方法。
$employees = App\Employee::all();
$employees = DB::table('employees')->get();
我读到这两行代码做的事情完全一样,从我的 'employees' table 中检索所有记录。这在某种程度上是正确的,但是第一行虽然更加简洁明了,但提供了一个更加冗长和嵌套的集合,表示相同数量的记录
Employee {#180 ▼
#connection: null
#table: null
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:3 [▶]
#original: array:3 [▶]
#casts: []
#dates: []
#dateFormat: null
#appends: []
#events: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: array:1 [▶]
}
对比
{#173 ▼
+"id": 3
+"username": "deren"
+"password": "noob"
}
对于第一个集合,与第二个集合相同的信息包含在原始内容中。两者之间有什么区别?为什么通过 Eloquent 的第一个查询包含更多的元数据?我觉得它与它提供的口才(请原谅双关语)相矛盾,尤其是考虑到我不知道如何访问原始数组中的数组。如果有所不同,我正在使用 dd() 转储包含集合的变量。
$employees = App\Employee::all();
这会读取数据库 table,将每一行变成特定模型 class 的一个实例,并 returns 它们及其所有添加的属性、方法等。
$employees = DB::table('employees')->get();
这会读取数据库 table 并将每一行转换为标准 class。它不知道模型。