我构建了两个模型,代表我的 mysql 数据库中的两个表。在一张表中,我获得了一些汽车经销商的邮政编码,在第二张表中,我获得了邮政编码的坐标。不幸的是,我没有得到相关数据。我使用了 zip_code 和foreign_key。
public function up()
{
Schema::create('plzs', function (Blueprint $table) {
$table->id();
$table->text("Ort");
$table->decimal('Latitude', 10, 8);
$table->decimal('Longitude', 11, 8);
});
}
和
public function up()
{
Schema::create('autodealers', function (Blueprint $table) {
$table->id();
$table->bigInteger('plz_id')->unsigned();
$table->text("Händler");
$table->foreign('plz_id')->references('id')->on('plzs')->onDelete('cascade');
});
}
然后我迁移该表并在我的数据库中创建该表。之后,我通过 csv 文件将数据导入到 mySQL 中的表中。一切正常。
这里我定义了一对一的关系。请.php:
public function dealer()
{
return $this->hasOne('App\Autodealer', 'plz_id');
}
自动经销商.php:
public function coor()
{
return $this->belongsTo('App\plz');
}
通过 web.php 我定义了路线:
Route::get('/auto', 'AutohaendlerController@index');
从这条路线我调用索引方法:
public function index()
{
$dealer = \App\Autodealer::all();
return view('plz', array('ausgabe'=>$dealer));
}
当我的视图看起来像这样时,它工作得非常好:
<body>
<ul>
@foreach ($ausgabe as $dealer)
<li>{{$dealer}}</li>
@endforeach
</ul>
但是当我使用<li>{{$dealer->coor}}</li>它时,没有数据显示。coor() 函数应该调用BelongTo 方法。在修补程序中,我的数据似乎也不相关。
我缺少什么?
当我使用 Tinker 并保存具有相同 id 和 plz_id 的 plz 对象和 Autodealer 对象时,它可以工作。当我导入数据时,这似乎是一个问题。
慕桂英546537
HUWWW