Приложение пространства имен;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Laravel\Scout\Searchable;
class Event extends Model
{
protected $table = 'events';
public $timestamps = true;
use Searchable;
use SoftDeletes;
protected $dates = ['deleted_at'];
public function entities()
{
return $this->belongsTo('App\Entity', 'entity_id');
}
public function users()
{
return $this->belongsTo('App\User', 'id');
}
public function events()
{
return $this->belongsTo('App\DirtyEvent', 'id');
}
public function toSearchableArray()
{
$data = $this->toArray();
$data['entities'] = $this->entities->toArray();
return $data;
}
}
Это моя модель для Event, как вы можете видеть, я использую toSearchableArray, который является разведывательной функцией Laravel для импорта «отношений» в algolia. Однако проблема в том, что иногда он пуст. Так например
идентификатор события 1 имеет entity_id 1
но в другом примере
идентификатор события 2 имеет entity_id = null
Как я могу изменить эту функцию, чтобы проверить, не является ли отношение entity() пустым, прежде чем помещать его в массив?