php - Laravel 多对多关系返回 null
问题描述
我有一个与自身有多对多关系的类用户
public function following(){//Many To Many relationship
return $this->belongsToMany(User::class, 'users_users', 'username', 'follower');
}
public function followers(){//Many To Many relationship
return $this->belongsToMany(User::class, 'users_users', 'follower', 'username');
}
我做了表迁移users_users:
public function up()
{
Schema::create('users_users', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('username');
$table->foreign('username')->references('username')->on('users');
$table->string('follower');
$table->foreign('follower')->references('username')->on('users');
});
}
当我尝试获取一个用户的关注者时,当表中充满关系时,它会返回一个空数组。
public function getFollowers(String $username){
$user = User::where('username',$username)->get();
if(!$user){//si no ha encontrado el user con ese id
return response()->json(['message' => 'User not found'],404);
}
return response()->json(['followers' => $user[0]->followers],200);
}
任何想法?:/
解决方案
推荐阅读
- java - 为什么 Eclipse 使用默认编码 UTF-8 启动我的应用程序
- javascript - Javascript 图像覆盖整个页面
- azure - 通过 Powershell for AzureAD 更新用户电子邮件地址
- python - Flask/Jquery - 尝试请求一个值,但出现此错误:引发 exceptions.BadRequestKeyError(key)
- android - 使用当前 Complete 可见项目高度滚动 RecyclerView
- typescript - 基于输入对象字段的函数的通用返回类型
- ios - 主故事板和模拟器显示不同的视图
- database - 使用 mysql 之类的数据库到 webflow
- python - 训练现有 Spacy Ner 管道会忘记之前的示例
- ios - Flutter 无法在 iPhone 上运行