44 lines
914 B
PHP
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;
|
|
}
|
|
}
|
|
|
|
|