【发布时间】:2016-04-04 11:28:20
【问题描述】:
在 Laravel 包中,模型 User 派生自 Model 类。 虽然 Model 类没有“join”方法,但我仍然可以在用户对象上使用 join 方法。
我不清楚 Laravel 是如何做到这一点的。
$user = Users::find($id);
$user->
join('GroupMember', 'GroupMember.UserID', '=', 'users.id')->
join('Groups', 'GroupMember.GroupID', '=', 'Groups.GroupID')->
where('users.id','=', $user->id)->get();
以上代码是获取用户的所有相关组。 因为$user是派生自Model类,但是Model类没有“join”方法……
这是用户定义。
<?php namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
use Authenticatable, CanResetPassword;
【问题讨论】:
标签: php laravel laravel-5 eloquent query-builder