Php 没有关系的表的Laravel雄辩关系问题
一、 我对雄辩的人际关系有问题。 这是我的数据库 我在partner表的Santander列中得到了Santander ID,并希望使用这两个表中的数据,就像使用一个表中的数据一样 这是我的Partner.php模型:Php 没有关系的表的Laravel雄辩关系问题,php,laravel,eloquent,orm,eloquent-relationship,Php,Laravel,Eloquent,Orm,Eloquent Relationship,一、 我对雄辩的人际关系有问题。 这是我的数据库 我在partner表的Santander列中得到了Santander ID,并希望使用这两个表中的数据,就像使用一个表中的数据一样 这是我的Partner.php模型: <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Par
<?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');
}
}
<?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');
}
}
在视野中。我是这样使用它的:
use App\Models\Partner;
use App\Models\Santander;
$partners = Partner::paginate(10);
@foreach partners as partner
{{ $partner->santander->operator }}
@endforeach
但它会产生错误:
试图获取非对象的属性“santander”首先,您确定关系本身吗
$this->hasOne(Santander::class,'id','Santander')代码>
第一个额外参数应该是外键,因此假设模型Santander
中的相关列命名为Santander
,那么它应该是:
$this->hasOne(Santander::class,'Santander','id')代码>
(最后一个参数指定的id
可以省略)
另一个模型中的关系也是如此。您在blade文件中拼写为$pratners而不是$partners?鉴于此,我写得很正确。我只是在stackoverflow上输入了错别字。谢谢你的尝试,但我改变了这个,没有任何帮助。现在出现相同错误:尝试获取非对象的属性“运算符”