Number type returning Undefined array key 1 #976
Replies: 1 comment
-
The model cast. protected $casts = [ |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have the below CRUD Controller for AccountTransaction model but I keep getting the error "Undefined array key 1" on the list page, a preliminary debuging revealed its because of the balance and amount column i.e when I remove those column from displat that error does not appear.
The error as per debug bar
Undefined array key 1 (View: C:\xampp\htdocs\mintfinance\vendor\backpack\crud\src\resources\views\crud\columns\number.blade.php)vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php#760
The CRUD Controller
`<?php
namespace App\Http\Controllers\Admin;
use App\Http\Requests\AccountTransactionRequest;
use Backpack\CRUD\app\Http\Controllers\CrudController;
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade as CRUD;
/**
Class AccountTransactionCrudController
@Package App\Http\Controllers\Admin
@property-read \Backpack\CRUD\app\Library\CrudPanel\CrudPanel $crud
*/
class AccountTransactionCrudController extends CrudController
{
use \Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;
/**
*/
public function setup()
{
CRUD::setModel(\App\Models\AccountTransaction::class);
CRUD::setRoute(config('backpack.base.route_prefix') . '/account-transaction');
CRUD::setEntityNameStrings('account transaction', 'account transactions');
}
/**
Define what happens when the List operation is loaded.
@see https://backpackforlaravel.com/docs/crud-operation-list-entries
@return void
*/
protected function setupListOperation()
{
CRUD::setFromDb(); // set columns from db columns.
/**
*/
CRUD::column('account')->type('relationship');
CRUD::column('type')->type('enum');
CRUD::column('description');
CRUD::column('balance')->type('number')->key('balance');
CRUD::column('amount')->type('number')->key('amount');
}
/**
Define what happens when the Create operation is loaded.
@see https://backpackforlaravel.com/docs/crud-operation-create
@return void
*/
protected function setupCreateOperation()
{
CRUD::setValidation(AccountTransactionRequest::class);
CRUD::setFromDb(); // set fields from db columns.
/**
*/
}
/**
*/
protected function setupUpdateOperation()
{
$this->setupCreateOperation();
}
}
`
The Model
`<?php
namespace App\Models;
use Backpack\CRUD\app\Models\Traits\CrudTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class AccountTransaction extends Model
{
use CrudTrait;
use HasFactory;
}
`
The Migrations file
`<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('account_transactions', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('account_id');
$table->foreign('account_id')->references('id')
->on('accounts')
->onDelete('cascade')
->onUpdate('cascade');
$table->enum('type', ["in","out"]);
$table->string('description')->nullable();
$table->unsignedDecimal('amount',14,4);
$table->unsignedDecimal('balance',14,4);
$table->timestamps();
});
}
};
`
Beta Was this translation helpful? Give feedback.
All reactions