具有一对一关系和图像上载laravel的CRUD示例

时间:2017-10-24 05:11:59

标签: php laravel crud one-to-one

我无法理解并知道如何与CRUD和文件上传建立一对一的关系,是否可以给我一个简单的例子来说明如何做?因为当我尝试这样做时,出于某种原因我的<mycomp *ngIf="seeIfItHasBecomeTrue()"></mycomp> id根本不匹配

示例,在user_id表(带有标识1的插孔)中有一个user_info表(使用user_id = 1上传的图像)。

这是我在控制器中遇到问题的部分:

userImage

2 个答案:

答案 0 :(得分:1)

一对一关系的样本。我希望它可以帮到你。

user表的列表示例:

  • ID
  • 名称
  • 电子邮件
  • 密码

userimage表的列表示例:

  • ID
  • USER_ID
  • 图片链接
  • 上传

用户模型

public function userImage()
{
    return $this->hasOne(App\UserImage::class);
}

UserImage模型

public function user()
{
    return $this->hasOne(App\User::class);
}

控制器中的CRUD

public function store(Request $request)
{
        $user = new App\User;
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = $request->password;
        $user->save();
        $user->userImage->create([
                'image_link'         => $request->image,
                'uploaded'         => $request->date,
            ]);
        return back();
}

public function update(Request $request, $id)
{
        $user = App\User::find($id);
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = $request->password;
        $user->save();

        $user->userImage->image_link = $request->image;
        $user->userImage->uploaded = $request->date;
        $user->userImage->save();

        return back();
}

public function destroy($id)
{
        $user = App\User::find($id)->delete();

        return back();

}

答案 1 :(得分:0)

在引用userImage表的user_info表中创建外键。 在外键上创建唯一约束。