sergeybodin 2023-08-14 12:04:23 +03:00
commit 8b05ae0664
4 changed files with 7 additions and 4 deletions

View File

@ -21,7 +21,8 @@ class Category extends Model {
'uuid',
'registry_id',
'parent_id',
'name'
'name',
'ord'
];
protected $hidden = [

View File

@ -70,7 +70,7 @@ class EntryFilters extends FiltersService {
public function objectFields(Collection $filters): array {
return fractal(Field::query()->whereHas('groups.objectType', function($query) use($filters) {
$query->whereIn('uuid', $filters->get('types') ?? []);
})->whereIn('type', [FieldType::RELATION, FieldType::DATE, FieldType::STRING])->get(), new FieldTransformer($filters->all(), $this))->toArray();
})->whereIn('type', [FieldType::RELATION, FieldType::DATE])->get(), new FieldTransformer($filters->all(), $this))->toArray();
}
@ -94,7 +94,7 @@ class EntryFilters extends FiltersService {
public function applyNativeFilter(Builder $query, $prop, $value) {
if ($value) {
if ($prop === 'search') $this->applySearchFilter($query, $value, ['name', 'number']);
if ($prop === 'search') $this->applySearchFilter($query, $value, ['name', 'number', ['objects.stringValues' => ['value']], ['objects.textValues' => ['value']]]);
elseif ($prop === 'registry') $this->applyRelationFilter($query, 'registry', $value);
elseif ($prop === 'state') $query->byStates($value);
}

View File

@ -19,6 +19,7 @@ class CreateRegistryCategoriesTable extends Migration
$table->integer('registry_id')->index()->nullable();
$table->integer('parent_id')->index()->default(0);
$table->string('name')->index()->nullable();
$table->integer('ord')->index()->default(0);
$table->timestamps();
$table->softDeletes();
});

View File

@ -166,7 +166,6 @@ class FieldsTableSeeder extends Seeder {
'activities' => [
'title' => 'Объект сертификации',
'type' => FieldType::RELATION,
'required' => true,
'multiple' => true,
'params' => [
'related' => DictionaryItem::class, 'transformer' => DictionaryItemTransformer::class,
@ -356,6 +355,8 @@ class FieldsTableSeeder extends Seeder {
public function run() {
collect($this->fields)->each(function($data, $name) {
$data['required'] = $data['required'] ?? 0;
$data['multiple'] = $data['multiple'] ?? 0;
$field = Field::firstOrCreate(['name' => $name]);
$field->update($data);
});