Based on Belongs To Many Relation. Returns one model instead of Collection of models.
composer require megapixel23/belongs-to-one
BelongsToOne relation is almost identical to standard BelongsToMany except it returns one model instead of Collection of models and null
if there is no related model in DB (BelongsToMany returns empty Collection in this case). Include Megapixel23\Database\Eloquent\Relations\BelongsToOneTrait
within your Model and use BelongsToOne relation.
Example:
<?php
namespace App\Models;
use App\Models\Group;
Use Illuminate\Database\Eloquent\Model;
use Megapixel23\Database\Eloquent\Relations\BelongsToOneTrait;
class Record extends Model
{
use BelongsToOneTrait;
public function group()
{
return $this->belongsToOne(Group::class);
}
}
And then use it like any other relation:
$record = Record::with('group')->first();
./vendor/bin/phpunit