【发布时间】:2020-06-03 02:33:34
【问题描述】:
所以我正在尝试使用 Laravel 创建一个简单的 REST API。 在通过向数据库创建新项目来测试 API 时,我收到一个错误:
Illuminate\Database\QueryException: SQLSTATE[23000]: 完整性约束违规: 1452 无法添加或更新子行: 外键约束失败 (world.cities, CONSTRAINT cities_ibfk_1 FOREIGN KEY (@987654324 @) REFERENCES country (Code)) (SQL: 插入cities (Name, CountryCode, District, Population, updated_at, created_at) 值 (Valhalla, created_at) , Ragnar Alley, 200000000, 2020-02-19 01:07:26, 2020-02-19 01:07:26)) 在文件 C:\xampp\htdocs\myapp\vendor\laravel\framework\src\Illuminate\第 669 行的 Database\Connection.php
这是控制器:
public function createCity(Request $request) {
$city = new City;
$city->Name = $request->Name;
$city->CountryCode = $request->CountryCode;
$city->District = $request->District;
$city->Population = $request->Population;
$city->save();
型号:
class City extends Model
{
protected $table = 'cities';
protected $fillable = ['Name', 'CountryCode', 'District', 'Population'];
}
我们将不胜感激,因为我无法弄清楚为什么在 POST 之后出现错误。 提前致谢。
【问题讨论】:
-
CountryCode 必须存在于您的国家/地区表中?你能展示一下你的表格结构吗?
-
vhl是否存在于您的country表Code列中? -
我只有城市表。我得到了一个可以使用的 sql 文件,它只有一个表。