您好,我有一个名为 Friend 的模型,它有一个 id、user_id 和一个friend_id。我想与用户模型建立关系,而不是通过朋友的行 ID,而是通过朋友的 user_id。又名,如果我这样做hasOne('User', id);
,它将获取朋友行的 id 并执行类似的操作,SELECT * FROM users WHERE id = <friend_row_id>
而是我希望它是SELECT * FROM users WHERE id = <friend_user_id>
我必须手动执行此操作吗?或者有没有办法定义这种关系?
PS我是新来的关系,所以如果我问一些愚蠢的事情,对不起!
编辑:这是我的自动取款机代码。
$ret = array();
if(Auth::check()){
$friend = new Friend();
$ret['friends'] = $friend->where('friend_id', '=', Auth::user()->id)->get();
}
error_log(print_r(DB::getQueryLog(),true));
return View::make('index.index', $ret);
Friend 模型具有如下声明关系的函数:
public function user(){
$this->hasOne("User");
}
朋友和用户表是:
Friend User
/////////////// /////////////
// id // // id //
// user_id // // email //
// friend_id // // password//
/////////////// // name //
/////////////
每次我从朋友那里得到一行时,它也应该得到相关的用户是正确的吗?