- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含以下字段的表单:姓名、全名、描述、电子邮件、密码、州、城市(选择州时通过 Ajax 填写)和照片(图片上传)。这是我的架构:
public function up()
{
Schema::create('states', function(Blueprint $table)
{
$table->increments('id');
$table->string('acronym');
$table->string('name');
});
Schema::create('cities', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->integer('state_id')->unsigned();
$table->foreign('state_id')->references('id')->on('states');
});
Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->string('fullname');
$table->string('photo');
$table->text('description');
$table->string('email');
$table->string('password', 60);
$table->integer('city_id')->unsigned();
$table->foreign('city_id')->references('id')->on('cities');
$table->rememberToken();
});
}
我的问题是,当我按下提交按钮时,会出现以下错误消息:
SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败(yearbook
。users
,CONSTRAINT users_city_id_foreign
FOREIGN KEY (city_id
) REFERENCES cities
(id
)) (SQL: insert into users
( name
, description
, email
) values (Gabriel, Description, email@gmail.com))
所以问题与 city_id 作为外键有关(表单选项中的“值”属性是 id)。例如:
<option value="281">Abaíra</option>
但是当我尝试通过 phpmyadmin 插入时,它插入时没有错误。
那么可能是什么问题呢?
这是我在 Controller 上的保存方法:
public function saveRegister()
{
$rules = array(
'name' => 'required',
'description' => 'required',
'fullname' => 'required',
'email' => 'required',
'password' => 'required',
'state' => 'required',
'city' => 'required',
'photo' => 'required',
'photo' => 'image|max:3000000',
);
$val = \Validator::make(\Input::all(), $rules);
if($validar->fails()){
return redirect('register')->withErrors($val);
} else {
$user = new User(array(
'name' => \Input::get('name'),
'description' => \Input::get('description'),
'fullname' => \Input::get('fullname'),
'email' => \Input::get('email'),
'city_id' => \Input::get('city'),
));
$user->timestamps = false;
$user->save();
return redirect('register')->with('message', 'User saved!');
}
}
编辑:在 saveRegister() 方法中修复了 city_id。
最佳答案
代替
$user = new User(array(
'name' => \Input::get('name'),
'description' => \Input::get('description'),
'fullname' => \Input::get('fullname'),
'email' => \Input::get('email'),
'city' => \Input::get('city'),
));
这样做
$user = new User();
$user->fill(array(
'name' => \Input::get('name'),
'description' => \Input::get('description'),
'email' => \Input::get('email')
));
$user->fullname = \Input::get('fullname');
$user->city= \Input::get('city');
或者改变模型中的$fillable
属性
关于php - 拉维尔 5 : SQLSTATE[23000]: Integrity constraint violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084341/
env file:环境文件: APP_ENV=localAPP_DEBUG=trueAPP_KEY= ...........DB_HOST=srv3.linuxisrael.co.ilDB_D
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我在这里有一个 plpgsql 函数来指示在 ANALYZE 期间是否引发了任何警告: CREATE OR REPLACE FUNCTION analyzeWarning() RETURNS inte
我创建了一个过程,如果输入等于 0,该过程将抛出 SQLException 并显示错误消息“dwa”。 CREATE PROCEDURE enter_the_dragon(test INT) BEGI
我在尝试通过 8443 门户连接到我的服务器时收到此错误: ERROR: Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2002] No such file
在插入投票之前,我需要检查每个用户的声誉数。因此,为了这个目的,我有一个像这样的TRIGGER: CREATE TRIGGER check_reputation BEFORE INSERT ON vo
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error oraccess violation: 1064 You have
MYSQL 在处理通过别名调用的表的子查询时触发 SQLSTATE[42S02] 错误 “更新 call_log AS c1 INNER JOIN call_log AS c2 ON c1.id =
我在 PostgreSQL (mixbest) 中有一个包含 73018 行的表。我要选择的字段是: sample integer m integer, pciv double prec
我刚刚收到此错误...请帮我解决这个错误! www.sp-power.com Error in file: "/home/sppower6/public_html/app/code/core/Mage
例如,我有产品[香蕉]和产品[橙色],我希望这两个产品在数据库中使用相同的图片。但是,当我尝试添加与第一个产品具有相同图片的第二个产品时,我收到此错误: SQLSTATE[23000]: Integr
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 7 年前。 编辑问题以包含 desired behavior, a specific problem
Closed. This question is off-topic。它当前不接受答案。
运行时: DELIMITER $$ CREATE TRIGGER tr_test BEFORE UPDATE ON test FOR EACH ROW BEGIN
我的代码大部分已经运行起来了。我似乎不断地一遍又一遍地犯同样的错误。我认为这是因为我在错误的地方放了逗号,但我不知道。谁能帮我看一下这段代码吗? setAttribute(PDO::ATTR_ERRM
我正在尝试获取我的 yii 应用程序的时间范围。 这是我的模型: public function timeRange($attribute, $params) { $criteria
prepare($sql); foreach($parameters as $name=>$value){ $query->bindValue($name,$value);
我有一个前触发器,它可以防止数据更新到表中。为此,我使用了“SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'This operation is not allo
您好,我在 SQL 查询中遇到错误,无法弄清楚问题出在哪里。这是到目前为止在 Barmar 的帮助下的查询。 $query = "SELECT c.*, count(s.curso_id) as c
我构建了 restful API 及其工作,但是当我尝试将参数传递给链接时,下面显示错误,尽管当我打印参数时结果是正确的! 详细信息 Type: PDOException Code: 42000 Me
我是一名优秀的程序员,十分优秀!