"laravel/framework": "^v8.83",
"laravel-lang/lang": "^10.1",
"laravel-lang/publisher": "^10.3",
- "spatie/laravel-permission": "^4.4|^5.5",
- "opis/closure": "^3.6"
+ "spatie/laravel-permission": "^4.4|^5.5"
},
"require-dev": {
"filp/whoops": "^2.14",
use Illuminate\Database\Query\Builder;
+use Laravel\SerializableClosure\Exceptions\PhpVersionNotSupportedException;
+use Laravel\SerializableClosure\SerializableClosure;
class Model extends Field
{
$this->pluck($this->getAttribute('attribute'), true, $force);
}
+ /**
+ * @throws PhpVersionNotSupportedException
+ */
public function pluck($attr, $onlyGlobal = false, $force = false)
{
$bui = backpack_user() === null ? '' : backpack_user()->id;
$tag = 'model_' . $modelClass;
if ($force || !isset(static::$_options[$globalCacheKey])) {
start_measure($globalCacheKey, 'Get options for model ' . $modelClass . ' / ' . $attr);
- $closure = function () use ($modelClass, $attr, $modelScope) {
+ $closure = new SerializableClosure(function () use ($modelClass, $attr, $modelScope) {
set_time_limit(0);
/** @var \Illuminate\Database\Eloquent\Model $inst */
$inst = new $modelClass();
$q = $q->$modelScope();
}
return $q->where('created_ok', 1)->get()->pluck($attr, $inst->getKeyName())->toArray();
- };
+ });
$ttl = 86400;
$cache = cache()->tags([$tag]);
if ($force) {
use Cubist\Backpack\CubistBackpackServiceProvider;
+use Laravel\SerializableClosure\SerializableClosure;
class SelectFromModel extends Model
{
'ajax' => $this->_ajax,
'order' => $this->_order,
'allows_null' => $this->_allows_null,
- 'searchLogic' => function ($query, $column, $searchTerm) use ($field) {
+ 'searchLogic' => new SerializableClosure(function ($query, $column, $searchTerm) use ($field) {
$pluckAttr = $field->getAttribute('column_attribute', $field->getAttribute('attribute'));
$list = $field->pluck($pluckAttr);
$findIds = [];
}
}
$query->orWhereIn($field->getName(), $findIds);
- },
+ }),
]
);
}