lk.zachem.info/app/Modules/Bitrix/Traits/Bitrixable.php
2025-08-28 01:47:38 +08:00

44 lines
914 B
PHP

<?php
namespace Modules\Bitrix\Traits;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\MorphOne;
use Illuminate\Database\Eloquent\Model;
use Modules\Bitrix\Models\BitrixId;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
trait Bitrixable
{
public function bitrixy(): MorphOne
{
return $this->MorphOne(BitrixId::class, 'bitrixable');
}
public function bitrixId()
{
if ($row = $this->bitrixy()->first())
{
return $row->bx_id;
}
return false;
}
public function setBitrixId($id): bool
{
$this->bitrixy()->delete();
$bitrixId = new BitrixId([
'bx_id' => $id
]);
if ($this->bitrixy()->save($bitrixId))
{
return true;
}
return false;
}
}