cod*_*ire 1 laravel eloquent laravel-5
我有具有关系语言的雄辩模型用户
class User extends Model {
// ... some code
public function languages()
{
return $this->belongsToMany(Language::class);
}
}
Run Code Online (Sandbox Code Playgroud)
我的多对多关系的迁移数据透视表
public function up()
{
Schema::create('language_user', function (Blueprint $table) {
$table->unsignedInteger('user_id');
$table->unsignedInteger('language_id');
$table->primary(['user_id', 'language_id']);
});
}
Run Code Online (Sandbox Code Playgroud)
在控制器中我尝试获取我的用户
class UserController extends Controller
{
public function show(User $user)
{
return response()->success($user->with('languages')->get());
}
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我得到的不是一个用户,而是用户的结果数组, 我如何才能只查询一个用户的语言记录?
使用 Laravel延迟预加载:
来自文档:
有时,您可能需要在检索父模型后立即加载关系。
在你的情况下:
class UserController extends Controller
{
public function show(User $user)
{
return response()->success($user->load('languages'));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1537 次 |
| 最近记录: |