douliao8402 2018-07-14 19:22
浏览 117

Laravel - 如何从多个表关系laravel创建和更新字段?

I have a relation from two models, when a user create a comment I need to store in a table and update a status field in other table, this should be in the same form submit comment. I getting error Undefined variable: id

My controller

 public function reply($id)
    {
    if (Auth::check())
        {
        $issue = Issue::where('user_id', Auth::id())->where('id', $id)->firstOrFail();
        $company = $issue->company;
        $interaction = $issue->interaction;
        return view('issues.reply', compact('issue', 'company', 'interaction'));
        }
      else
        {
        return redirect()->guest('/logon');
        }
    }

public function postComment(Request $request)
    {
    $this->validate($request, ['description' => '']);
    $interaction = IssueInteraction::create(['issue_report_id' => $request->input('issue_report_id') , 'user_id' => Auth::user()->id, 'description' => $request->input('description') , 'owner' => 'USER', ]);
    if ($interaction->save())
        {
        $issue = Issue::where('id', $id)->findOrFail->id;
        $issue->updateOrCreate->status = $request->status;
        $issue->save();
        }

    $interaction->created_at = date('Y-m-d H:i:s.u');
    return redirect()->back()->with("status", "Your reply has be submitted.");
    }

My route

Route::get('/account/issues/{id}', 'IssueInteractionController@reply');
Route::post('interaction', 'IssueInteractionController@postComment');

My form

 <form class="form-secondary" action="{{ url('/interaction') }}" method="POST">
   {!! csrf_field() !!}
   <input type="hidden" name="issue_report_id" value="{{ $issue->id }}">
   <textarea rows="10" id="description" class="form-control" name="description"></textarea>
   <input type="hidden" id="status" name="status" value="2">
   <button type="submit" class="btn btn-lg btn-block btn-primary shadow mt-4">@lang('app.Send Reply')</button>
</form>

Thanks in advance,

  • 写回答

1条回答 默认 最新

  • dph23577 2018-07-14 19:56
    关注

    I think this is what you are looking to change in your postComment() method. That is, if the issue_report_id is the corresponding key to the Issue model's id.

        $issue = Issue::where('id', $interaction->issue_report_id)->first()->id;
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看