Department View:
<td>
@if ($department->faculty())
{{ $department->faculty()->element_data['name'] }}
@else
No Faculty Assigned
@endif
</td>
Department Model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
use HasFactory;
protected $primaryKey = 'element_uuid'; // Define the primary key column
protected $fillable = ['element_uuid', 'element_data'];
protected $casts = [
'element_uuid' => 'string',
'element_data' => 'json',
];
public function faculty()
{
return $this->belongsTo(Faculty::class, 'departments.element_data->faculty_element_uuid', 'element_uuid');
}
}
Faculty View:
<td class="text-truncate td-mx-wd fw-bold">
{{ $faculty->departments->count() }} Created
</td>
Faculty Model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Faculty extends Model
{
use HasFactory;
protected $primaryKey = 'element_uuid'; // Define the primary key column
protected $fillable = ['element_uuid', 'element_data'];
protected $casts = [
'element_uuid' => 'string',
'element_data' => 'json',
];
public function departments()
{
return $this->hasMany(Department::class, 'element_data->faculty_element_uuid');
}
}
My relationship works in the Faculty Model, but it does not work in the Department Model. Please can anyone help me out?