来自 CodeIgniter 的 Datamapper ORM 我仍在尝试了解 Laravel 的 Eloquent ORM。
鉴于我有一个 ACCOUNT 和一个 USER 表(简化):
ACCOUNT
- id
- name
USER
- id
- account_id
- username
一个帐户有许多用户。一个用户属于一个帐户。所以我们正在处理一对多的关系。一切都已经在模型中设置好了。
在 CodeIgniter 的 Datamapper 中,我会执行以下操作以从任何给定 ID 获取用户,同时检查该用户是否与当前帐户相关:
$u = new User();
$u->where('username', $username);
$u->where_related_account('id', $account_id);
$u->get();
if ( ! $u->exists()) exit; // or do something...
// otherwise continue to use the "$u" user object
这种语法非常合乎逻辑且易于理解。在 Eloquent 中,我很难用类似的简单语法来实现相同的目标。有没有人有什么建议?