php – 如何在Laravel DB :: insert中返回我的OUTPUT子句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何在Laravel DB :: insert中返回我的OUTPUT子句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1208字,纯文字阅读大概需要2分钟。
内容图文
![php – 如何在Laravel DB :: insert中返回我的OUTPUT子句](/upload/InfoBanner/zyjiaocheng/728/fdf4e43d18bf4430bdf953b598e3f512.jpg)
我正在使用Laravel和sqlsrv,连接到SQL Server 2016,所有工作都很好,直到我尝试在插入查询中使用输出子句.
查询是这样的
INSERT INTO TABLE(Columns) OUTPUT INSERTED.MyDesiredReturnColumn VALUES(Value)
这在SQL Server中完美地工作,并返回所需的值,但是使用Laravel的DB :: insert功能它只返回1(成功插入)
我有一个我现在不想拥有的解决方法,使用CreatedOn字段返回最近创建的行,但这有潜在的问题.
更新:我试图检索的字段是一个在SQL中创建的uniqueidentifier字段(guid),而不是来自Laravel端
尝试@ PrathameshPalav建议使用Eloquent模型创建后,值正在正确插入数据库,但它仍然没有返回uniqueidentifier.
$inserted = MyModel::create($information);
print "inserted id is " . $inserted->MyModelId;
这是打印“插入ID是”
这是我的模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class MyModel extends Model
{
//
protected $table = 'MyModelBase';
protected $primaryKey = 'MyModelId';
public $incrementing = false;
protected $keyType = "string";
public $timestamps = false;
protected $fillable = ['field1', 'field2', 'etc'];
}
任何想法都会有很大帮助.
解决方法:
您可以将Eloquent ORM用于此目的:
$insertedObject = ModelName::create($input_array);
它将返回插入的模型对象作为响应.或者,如果您只想插入记录ID,则使用
DB::table($tablename)->insertGetId($input_array);
内容总结
以上是互联网集市为您收集整理的php – 如何在Laravel DB :: insert中返回我的OUTPUT子句全部内容,希望文章能够帮你解决php – 如何在Laravel DB :: insert中返回我的OUTPUT子句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。