Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 没有关系的表的Laravel雄辩关系问题_Php_Laravel_Eloquent_Orm_Eloquent Relationship - Fatal编程技术网

Php 没有关系的表的Laravel雄辩关系问题

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

一、 我对雄辩的人际关系有问题。 这是我的数据库

我在partner表的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');
    }


}
<?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上输入了错别字。谢谢你的尝试,但我改变了这个,没有任何帮助。现在出现相同错误:尝试获取非对象的属性“运算符”