2017-04-30 8 views
1

私のチケットテーブルのステータスを値に更新しようとしています: コメントを作成できたら(私は働いています:) :)これは私のチケットモデルと、次の関数である2Laravelの列のフィールドを更新

にステータスを変更:

public function addComment($id,$body,$solved) 
{  

    $this->find($id)->status = 2; 
    $this->save();    


    $this->comments()->create([ 
     'ticket_id' => $id, 
     'body' => $body, 
     'user_id' => auth()->id() 
     ]); 
} 
+0

@AmrAlyは動作しませんでした:/ –

+0

私にはその不明確あなたが求めているもの。チケットの 'status'を2に更新したいように思えますが、あなたのコードはすでにそれをやっているようです。あなたが今持っているものを試してみると何らかのエラーが出ますか? – Hollings

答えて

2

をあなたのオブジェクトが最初にあなたがそれを更新することができます取得する必要があります:多分これはあなたが抱えている問題を解決します

public function addComment($id,$body,$solved) 
{  
$ticket = $this->find($id); 
$ticket->status = 2; 
$ticket->save();    


$ticket->comments()->create([ 
    'ticket_id' => $id, 
    'body' => $body, 
    'user_id' => auth()->id() 
    ]); 
} 
+1

それは働いた。おかげでたくさん –

+0

あなたは歓迎ですあなたが私の答えが役に立つとわかったらそれを受け入れてください。 –

0

このようにコードを変更してみてください。

public function addComment($id,$body,$solved) 
{  
    $ticket = Ticket::find($id); 
    $ticket->status = 2; 
    $ticket->save();    

    $ticket->comments()->create([ 
     'ticket_id' => $id, 
     'body' => $body, 
     'user_id' => auth()->id() 
     ]); 
} 
関連する問題