2017-01-11 4 views
0

У меня есть эта функция, но проблема в том, что я никогда не получаю первую часть, ее вроде нет cookie. Любое предложение, как я могу это исправить?Как установить и получить cookie?

public function downvote(Request $request){ 

     $comment_id = $request->comment_id; 
     if(!Cookie::has('vote_' + $comment_id)){ 
     Cookie::forever('vote_' + $comment_id, $comment_id); 
     return response()->json(['already_voted' => true],200); 
     } 
     else{ 
     $comment = ArticleComments::findOrFail($comment_id); 
     $comment->downvotes -= 1; 
     $comment->save(); 
     return response()->json(['downvote_value' => $comment->downvotes],200); 

     } 
    } 
+1

Попробуйте это: '$ request-> печенье ('имя') ; ' –

ответ

2

Вы должны создать кулинарию и отправить его с ответом:

public function downvote(Request $request) 
{ 
    $comment_id = $request->comment_id; 
    $cookie_id = 'vote_' + $comment_id; 

    if ($request->cookie($cookie_id)) { 
     return response()->json(['already_voted' => true], 200) 
    } else { 
     $comment = ArticleComments::findOrFail($comment_id); 

     $comment->downvotes -= 1; 

     $comment->save(); 

     return response() 
       ->json(['downvote_value' => $comment->downvotes],200) 
       ->cookie(Cookie::forever($cookie_id, $comment_id)); 
    } 
} 

Проверьте документы: https://laravel.com/docs/5.3/requests#cookies

Смежные вопросы