Laravel雄辩的社交网络

时间:2016-09-22 10:30:19

标签: laravel eloquent laravel-5.2 mode

User->post->likes

我正在建立一个社交网络。我有用户帖子。对于喜欢的概念,我创建了一个表(喜欢):  _______________________ |id | post_id | user_id | | | | |

我想向每个帖子下方的帖子展示喜欢帖子的人。 所以我需要为每个 Like 保存一行 。 我的问题是Eloquent以及如何保存 Like

    $post = Post::find($request->postId);
    $like = new Likes();
    $user = $request->user();
    $post->likes()->save($like, $user);
    return 'done';

此代码设置user_id(喜欢tabel)0

对于Like Concept有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

控制器中的

使用此方法:     public function postLikePost(Request $ request)     {         $ post_id = $ request [' postId'];         $ is_like = $ request [' isLike'] ===' true' ?真假;         $ update = false;         $ post = Post :: find($ post_id);         如果(!$ POST){             return null;         }         $ user = Auth :: user();         $ like = $ user-> likes() - > where(' post_id',$ post_id) - > first();         如果($等){             $ likes = $ like->喜欢;             $ update = true;             if($ likes == $ is_like)             {                 $喜欢 - >删除();                 return null;             }         其他         {             $ like = new Like();             //模具($等);         }

    $like->likes = $is_like;
    $like->user_id = $user->id;
    $like->post_id = $post->id;
    if($update){
        $like->update();
    }
    else{
        $like->save();
    }
    return null;
    }