我有口才模型用户,具有关联语言
class User extends Model {
// ... some code
public function languages()
{
return $this->belongsToMany(Language::class);
}
}
我的用于ManyToMany关系的迁移数据透视表
public function up()
{
Schema::create('language_user', function (Blueprint $table) {
$table->unsignedInteger('user_id');
$table->unsignedInteger('language_id');
$table->primary(['user_id', 'language_id']);
});
}
在控制器中,我尝试获取我的用户
class UserController extends Controller
{
public function show(User $user)
{
return response()->success($user->with('languages')->get());
}
}
但是不幸的是,我得到的不是
答案 0 :(得分:3)
使用Laravels 懒惰加载:
来自docs:
有时您可能需要在父母之后渴望加载一段关系 模型已被检索。
在您的情况下:
class UserController extends Controller
{
public function show(User $user)
{
return response()->success($user->load('languages'));
}
}