for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace A17\Twill\Repositories\Behaviors;
use Illuminate\Support\Arr;
trait HandleFieldsGroups
{
/**
* @param \A17\Twill\Models\Model|null $object
* @param array $fields
* @return array
*/
public function prepareFieldsBeforeSaveHandleFieldsGroups($object, $fields)
$object
If this is a false-positive, you can also ignore this issue in your code via the ignore-unused annotation
ignore-unused
public function prepareFieldsBeforeSaveHandleFieldsGroups(/** @scrutinizer ignore-unused */ $object, $fields)
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
return $this->handleFieldsGroups($fields);
}
public function prepareFieldsBeforeCreateHandleFieldsGroups($fields)
* @param \A17\Twill\Models\Model $object
public function getFormFieldsHandleFieldsGroups($object, $fields)
foreach ($this->fieldsGroups as $group => $groupFields) {
if ($object->$group) {
$decoded_fields = json_decode($object->$group, true) ?? [];
// In case that some field read the value through $item->$name
foreach($decoded_fields as $field_name => $field_value) {
$object->setAttribute($field_name, $field_value);
$fields = array_merge($fields, $decoded_fields);
return $fields;
protected function handleFieldsGroups($fields) {
$fields[$group] = Arr::where(Arr::only($fields, $groupFields), function ($value, $key) {
$key
$fields[$group] = Arr::where(Arr::only($fields, $groupFields), function ($value, /** @scrutinizer ignore-unused */ $key) {
return !empty($value);
});
if (empty($fields[$group])) {
$fields[$group] = null;
Arr::forget($fields, $groupFields);
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.