【发布时间】:2017-04-08 14:58:06
【问题描述】:
我使用 laravel 已经有一段时间了,我只是好奇哪个性能更好。在这种情况下,我有两个表,一个 department 表和一个 unit 表,其结构如下
部门表
Field Type Null Key
---------- ---------------- ------- ------
id int(10) unsigned NO PRIMARY
name varchar(255) NO
单位表
Field Type Null Key
------------- ---------------- ------ ------
id int(10) unsigned (NULL) PRIMARY
unit varchar(255) (NULL)
department_id int(10) unsigned (NULL) FOREIGN
created_at timestamp (NULL)
updated_at timestamp (NULL)
在Department 模型中,我有Unit 和hasMany,在unit 模型中,我有belongsTo 的部门
现在我的问题是,如果我想获得一个部门的所有单位,方法一和方法二之间的最佳方法
方法一
$department = Department::find($id);
$units = $department->unit;
方法二
$units = DB::table('units AS a')
->select(array('a.id AS id','department_id', 'unit'))
->join('departments AS b', 'a.department_id', '=', 'b.id')
->where('b.id', '=', $id)
->get();
哪种方法更快更好。
谢谢。
【问题讨论】:
标签: php mysql laravel orm eloquent