选择查询生成器返回 null
Posted
技术标签:
【中文标题】选择查询生成器返回 null【英文标题】:select query builder returning 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:插入ideas
(title
、description
、user_id
、workshop_id
)值(ppp、iiuu、7、 ?))
有人可以帮帮我吗?
【问题讨论】:
【参考方案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()
添加到迁移文件的列中。
【讨论】:
以上是关于选择查询生成器返回 null的主要内容,如果未能解决你的问题,请参考以下文章