【发布时间】:2020-12-20 00:21:01
【问题描述】:
当我去更新数据库上的值并没有改变并且测试失败
我在mysql db上有下图:
public function up()
{
Schema::create('polls', function (Blueprint $table) {
$table->id();
$table->integer('idPollEx')->nullable();
$table->text('param');
$table->enum('status', ['a', 'b', 'c','d'])->default('a');
});
}
功能/exampleTest.php
$requestSvr1 = [
"idPollEx" => 1,
"op" => ["k", "z", "y"]
];
$response = $this->put('/api/update',$requestSvr1);
//get value elaborate by pull
$dataDbTest = $this->get('/api/');
//check field process_status == processing
$this->assertSame('b',$dataDbTest[0]['status']);
PollsController.php
public function pull(Request $requestSvr1)
{
//get data
$requestSvr1 = $requestSvr1->all();
//order
$query= DB::table('polls')->whereIn('k', $requestSvr1['op'])->limit(1)->get();
//assignment of values
$query->update(['idPollEx' => $requestSvr1['idPollEx']]);
$query->update(['update' => 'k']);
$query->update(['status' => 'b']);
return response()->json($query, 200);
}
【问题讨论】:
-
如果你想稍后更新数据库中的对象,你不能
DB::table('polls')->whereIn('k', $requestSvr1['op'])->limit(1)->get();这个。 -
你在哪里有一个名为
k的字段? -
可以看到$requestSvr1