【发布时间】:2018-06-27 18:07:31
【问题描述】:
我正在使用 Laravel 和 sqlsrv,连接到 SQL Server 2016,一切正常,直到我尝试在插入查询中使用输出子句。
查询类似于
INSERT INTO TABLE(Columns) OUTPUT INSERTED.MyDesiredReturnColumn VALUES(Value)
这在 SQL Server 中完美运行,并返回所需的值,但使用 Laravel 的 DB::insert 功能它只返回 1(成功插入)
我有一个我现在不希望有的解决方法,使用 CreatedOn 字段返回最近创建的行,但这有潜在的问题。
更新:我试图检索的字段是在 SQL 中创建的唯一标识符字段(guid),而不是来自 Laravel 端
在尝试@PrathameshPalav 建议使用 Eloquent 模型创建后,值被正确插入到数据库中,但它仍然没有返回唯一标识符。
$inserted = MyModel::create($information);
print "inserted id is " . $inserted->MyModelId;
这是打印“插入的 id is”
这是我的模型:
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'];
}
任何想法都会很有帮助。
【问题讨论】:
标签: php sql database laravel sqlsrv