【问题标题】:select query builder returning null选择查询生成器返回 null
【发布时间】:2020-06-24 14:08:07
【问题描述】:

我是 Laravel 的新手,我正在尝试使用查询生成器检索选定行的 id 值,但它不起作用。根据 Laravel 文档,我已经尝试了很多方法,但我仍然遇到问题。我认为这与变量的使用有关,但我不知道如何修复它。

   public function submit_idea(Request $request)
   {
      $key=$request->input('key');
      $workshop_id= DB::table('workshops')->where('autokey',$key)->value('id');
      $id = auth()->User()->id;
      $idea=new Idea;
      $idea->title=$request->input('title');
      $idea->description=$request->input('description');
      $idea->user_id=$id;
      $idea->workshop_id=$workshop_id;
      $idea->save();
      return view('submit_idea');
   }

我得到的错误是: SQLSTATE [23000]:完整性约束违规:1048 列“workshop_id”不能为空(SQL:插入ideastitledescriptionuser_idworkshop_id)值(ppp、iiuu、7、 ?))

有人可以帮帮我吗?

【问题讨论】:

    标签: eloquent laravel-6 laravel-query-builder selectquerybuilder


    【解决方案1】:

    您也可以使用

    $workshopId = DB::table('workshops')->where('autokey', $key)->first()->pluck('name');

    echo $workshopId;

    【讨论】:

      【解决方案2】:

      变化:

      $workshop_id = DB::table('workshops')->where('autokey',$key)->value('id');
      

      收件人:

      $workshop_id = DB::table('workshops')->select('id')->where('autokey',$key)->first();
      

      顺便说一句,错误意味着workshop_id 不能为空。如果可以为空,请务必将nullable() 添加到迁移文件的列中。

      【讨论】:

        猜你喜欢
        • 2021-06-04
        • 1970-01-01
        • 2014-08-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-27
        • 1970-01-01
        • 2013-02-20
        • 2018-08-01
        相关资源
        最近更新 更多