listing_agents 表具有结构:
Schema::create('listing_agents', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('listing_id')->default('0');
$table->integer('agent_id')->default('0');
$table->integer('commission')->default('0');
$table->timestamps();
});
我的模型是:
public function listing_agents()
{
return $this->hasMany('App\ListingAgent', 'listing_id');
}
我的控制器是
public function update(Request $request, $id)
$data = $request->all();
$listing = Listing::find($id);
$listing->update($data);
$agents = $request->agents;
$item = [];
$item['listing_id'] = $listing->id;
$item['agent_id'] = [];
foreach($agents as $agent) {
array_push($item['agent_id'], $agent["key"]);
}
if($listing) {
$listing->listing_agents()->update($item['agent_id']);
}
我收到以下错误:
"SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update `listing_agents` set `0` = 78, `1` = 84, `listing_agents`.`updated_at` = 2021-01-06 01:59:50 where `listing_agents`.`listing_id` = 60 and `listing_agents`.`listing_id` is not null)"
如果我把上面改成:
foreach($agents as $agent) {
//array_push($item['agent_id'], $agent["key"]);
$listing->listing_agents()->update(['agent_id' => $item['agent_id']]);
}
这不会更新任何记录。我想用一个像我插入的雄辩的查询来更新记录。
$listing = Listing::create($data);
和 $listing->listing_agents()->createMany($agents);
这是我的数据库记录的样子: https://ibb.co/c24mqgR
答案 0 :(得分:0)
现在我正在使用这种方式更新记录。
function Arrondis() {
const ss = SpreadsheetApp.getActive();
const firstSheet = ss.getSheets()[0];
ss.setActiveSheet(firstSheet);
var cellRange = ss.getCurrentCell();
var selectedColumn = cellRange.getColumn();
var selectedRow = cellRange.getRow();
var secondSheet = ss.getSheets()[1];
var secondColumn = selectedColumn-1;
var secondRow = selectedRow-26;
Logger.log("FEUILLE 1 : "+firstSheet.getName());
Logger.log("FEUILLE 2 : "+secondSheet.getName());
Logger.log("ROW :"+selectedRow+" / COLUMN :"+selectedColumn+" / VALUE :"+cellRange.getValue());
Logger.log("ROW :"+secondRow+" COLUMN :"+secondColumn);
}
我不接受这个答案。如果您可以发布比这更好的答案,请发布您的答案,以便我可以将其标记为已接受的答案。