I, ve got problem with eloquent relationships. This is my DB
https://i.stack.imgur.com/2we4g.jpg https://i.stack.imgur.com/20KeG.jpg
I've got Santander ID in santander column in partner table and want to use data from those two table like from one
This is my Partner.php model:
<?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');
}
}
This is my Santander.php model:
<?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');
}
}
In controller I use Eloquent collection like this:
use App\Models\Partner;
use App\Models\Santander;
$partners = Partner::paginate(10);
In view. I am using it like this:
@foreach partners as partner
{{ $partner->santander->operator }}
@endforeach
but it generates error:
Trying to get property 'santander' of non-object