模型關聯 一對一 獲取關聯模型例項

Esaiting發表於2018-10-13

ORM 模型關聯

一對一

使用者和使用者資訊一對一:一個使用者對應一個使用者資訊,一個使用者資訊對應一個使用者。

class User extends Model
{
    /**
     * 使用者正向關聯使用者資訊。
     */
    public function userinfo()
    {
        return $this->hasOne('App\UserInfo');
    }
}

class UserInfo extends Model
{
    /**
     * 使用者資訊反向關聯使用者。
     */
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

user表

id email password
1 12@qq.com 123456

user_info表

id user_id name sex age
1 1 test 27

$user = User::find(1);
$user->userinfo 獲取到這個使用者的userinfo例項,可以繼續使用屬性獲取值。
$user->userinfo->name //test
$user->userinfo->sex //男

$userinfo = UserInfo::find(1);
$userinfo->user 獲取到user例項,繼續使用屬性獲取值。
$userinfo->user->email //12@qq.com
$userinfo->user->password //123456

關於第二個 第三個引數,看文件吧,寫的清晰了。

相關文章