-1

我正在使用以下代码片段将记录插入到同一数据库中的另一个表中

$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];
$data["Division"] = $values['Division'];
DB::Insert("Training", $data );

我有多个表要插入这些数据,所以我想知道是否有办法以及如何完成它,根据输入到“Division”字段中的值告诉代码,将数据插入到哪个表中?

例如:

  • 如果在“部门”字段中输入“培训”> 将数据输入到“培训”表中。
  • 如果在“部门”字段中输入了“新手 A”> 将数据输入到“新手 - A”表中。
  • 如果在 'Division' 字段中输入了 'BN A' > 输入数据 int 'BN - A' 表
  • ETC...

我不确定这是否可能,但如果是的话,有人可以给我一些关于如何实现这一点的指导吗?

我使用的 if-elseif 代码:

// Insert records into Division tables //

if($data["Division"] == $values['Training']){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Training", $data );

} elseif($data["Division"] = $values['Novice A']){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Novice - A", $data );

} elseif($data["Division"] = $values['Novice B']){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Novice - B", $data );

} elseif($data["Division"] = 'BN A'){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("BN - A", $data );

} elseif($data["Division"] = 'BN B'){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("BN - B", $data );

} elseif($data["Division"] = 'Starter A'){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Starter - A", $data );

} elseif($data["Division"] = 'Starter B'){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Starter - B", $data );

} elseif($data["Division"] = 'Starter C'){
$data = array();
$data["Number"] = $values['Number'];
$data["Rider Name"] = $values['Rider Name'];
$data["Horse Name"] = $values['Horse Name'];

DB::Insert("Starter - C", $data );

} 

return true;
4

1 回答 1

0

对于您的 elsif 语句,所有 elsif 语句都应使用 == 而不是 = 作为比较运算符(我们没有进行赋值,对吗?)

例如:

elseif($data["Division"] = 'Starter B')

应该

elseif($data["Division"] == 'Starter B')

请全部更改。

但是,正如@esqew 所说,请规范化您的数据库,而不是使用当前的“拆分表”设计。

于 2021-07-12T04:24:32.777 回答