我开始使用Laravel Model关系。但现在我不知道如何使用这种关系如下面的功能
class Notification extends Model{
public function getNotification() {
return self::select('*')->join('users','users.id','=','Notification.n_user_id')->get();
}
}
答案 0 :(得分:1)
试试这个:
class User extends Model
{
/**
* Get the Notifications for the User.
*/
public function notifications()
{
return $this->hasMany('App\Notification');
}
}
但我在您的代码中看到用户ID的外键字段名为n_user_id
,您应将其更改为user_id
以链接它们
使用方法:
$notifications = App\Post::find(1)->notifications;
foreach ($notifications as $notification) {
//
}
这是Laravel 5.2文档中有用的Link
<强>加成:强>
您还可以获得通知的用户:
class Notification extends Model
{
/**
* Get the User that owns the Notification.
*/
public function user()
{
return $this->belongsTo('App\User');
}
}
答案 1 :(得分:0)
我使用了以下方式并希望它有所帮助。
public function getNotification() {
$data = DB::table('users')
->join('Notification', 'users.id', '=', 'Notification.n_user_id')
->select('users.*', 'Notification.*')
->where('users.id', '=', 5)
->get();
return $data;
}