我正在使用以下代码片段将一条记录插入同一数据库中的另一个表中
$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"字段的值告诉代码,将数据插入哪个表?
例如:
- 如果在"部门"字段中输入"培训">在"Training"表中输入数据
- 如果在"部门"字段中输入了"新手A">在"新手-A"表中输入数据
- 如果在"部门"字段中输入"BN A">在"BN-A"表中输入数据
- 等等
我不确定这是否可能,但如果可能,有人能告诉我如何实现这一目标吗?
如果我使用的其他代码:
// 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;
对于您的elsif语句,所有elsif语句都应该使用==而不是=作为比较运算符(我们不是在赋值,对吧?(
例如:
elseif($data["Division"] = 'Starter B')
应该是
elseif($data["Division"] == 'Starter B')
请全部更改。
然而,正如@esqew所说,请规范化您的数据库,而不是使用当前的"拆分表";设计