Я использую функции Backpack для Laravel CRUD и в настоящее время у меня возникает проблема с типом поля select
, из-за которого после сохранения формы, когда я возвращаюсь, чтобы попытаться отредактировать ее, она не предопределяет мой selected option?
Вот мой setup()
код внутри моего Accounts
контроллера:
$this->crud->setModel("App\Models\Accounts");
$this->crud->setRoute("admin/accounts");
$this->crud->setEntityNameStrings('Accounts', 'Account');
$this->crud->addField([
'label' => "Proxy",
'type' => 'select',
'name' => 'proxy_id',
'entity' => 'proxy',
'attribute' => 'id',
'model' => "App\Models\Proxies",
'nullable' => true
]);
А вот мой proxy()
объект в модели Accounts
:
public function proxy()
{
return $this->hasOne(Proxies::class, 'id', 'proxy_id');
}
Вот класс App\Models\Proxies
:
class Proxies extends Model
{
use CrudTrait;
public $timestamps = false;
protected $table = 'proxies';
protected $fillable = [
'ip',
'port',
'username',
'password',
'status'
];
public function getStatusValue()
{
switch($this->status) {
case "0":
return '<span class="label label-success">Offline</span>';
break;
case "1":
return '<span class="label label-success">Online</span>';
break;
}
return null;
}
}
Вот моя миграция БД для столбца proxy_id :
public function up()
{
Schema::table('accounts', function(Blueprint $table)
{
$table->integer('proxy_id')->nullable();
});
}
ОБНОВЛЕНИЕ Я добавил {!! $field['name'].' - '.old($field['name']).' - '.$connected_entity_entry->getKey() !!}
во вновь созданный файл: / resources / views / vendor / backpack / crud / fields / select.blade.php и результат, который я вижу::
proxy_id - - 1
Похоже, функция old()
работает неправильно?