【发布时间】:2021-06-19 08:51:12
【问题描述】:
我,有口才关系的问题。 这是我的数据库
https://i.stack.imgur.com/2we4g.jpg https://i.stack.imgur.com/20KeG.jpg
我在合作伙伴表的 santander 列中有 Santander ID,我想使用这两个表中的数据,就像一个表中的数据一样
这是我的 Partner.php 模型:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Partner extends Model
{
use HasFactory;
protected $table='partner';
protected $connection='mysql2';
protected $guarded = [];
public $primaryKey = 'id';
public function santander()
{
return $this->hasOne(Santander::class, 'id', 'santander');
}
}
这是我的 Santander.php 模型:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Santander extends Model
{
use HasFactory;
protected $table='santander';
protected $connection='mysql2';
protected $guarded = [];
public $primaryKey = 'id';
public function partner()
{
return $this->belongsTo(Partner::class, 'id', 'santander');
}
}
在控制器中,我使用这样的 Eloquent 集合:
use App\Models\Partner;
use App\Models\Santander;
$partners = Partner::paginate(10);
在视图中。我是这样使用它的:
@foreach partners as partner
{{ $partner->santander->operator }}
@endforeach
但它会产生错误:
试图获取非对象的属性“santander”
【问题讨论】:
-
您在刀片文件中拼写为 $pratners 而不是 $partners?
-
鉴于我正确地写了它。我只在 stackoverflow 上打错字了。
标签: php laravel eloquent orm eloquent-relationship