我有2个表彼此相关:
Query Builder
我想使用Laravel更新我的表格。我在互联网上做了一些研究,但他们只介绍了如何将信息更新到只有1个表。我尝试使用DB::table('goals')
->where('goals.goalId', '=', $goaldata['goalid'])
->where('goals.goalId', '=', 'frequencies.goalId')
->update([
// my query
]);
但是,它不起作用。这是我的疑问:
$fullname=$_POST['fullname'];
$N = count($fullname);
for($i = 0 ;$i< count($fullname); $i++) {
$query = "UPDATE famcomp SET app_id = '".$_POST["app_id[$i]"]."', fullname = '".$_POST["fullname[$i]"]."', fage = '".$_POST["fage[$i]"]."', frel = '".$_POST["frel[$i]"]."', fcivil = '".$_POST["fcivil[$i]"]."', fedu = '".$_POST["fedu[$i]"]."', foccup = '".$_POST["foccup[$i]"]."', finco = '".$_POST["finco[$i]"]."' WHERE app_id = '".$_POST["app_id[$i]"]."'"; // Run the Mysql update query inside for loop
mysql_query($query, $con);
$message = 'Success Updating the record!!';
echo "<SCRIPT>alert('$message');</SCRIPT>";
echo "<script>windows: location='editrecord.php?name=$a'</script>";
}
如果您想查看我的查询以获取更多详细信息,这是我的完整陈述:http://pastebin.com/CmbReqGq
如何将数据更新为2个表?
谢谢。
答案 0 :(得分:0)
如果您正在使用迁移,则可以使用onUpdate('cascade')
,它将在更新父表时更新单个字段。
或者,如果您想要更新大量字段,可以使用mysql触发器,当触发事件时会触发该触发器。像这样:
DB::unprepared("
CREATE TRIGGER new_your_trigger AFTER UPDATE ON goals FOR EACH ROW
BEGIN
UPDATE frequencies SET id = NEW.id ;
END
");
答案 1 :(得分:0)
这简单得多
$data = ['id' => 1,'name' =>'John'];
$query = Model::update($data);
// to get the update row id
return $query -> id;
使用return id插入或更新相关表中的数据