I am beginner in php and Laravel. I have small problem with fill forms data from database. At the moment I am trying to complete my form with data from the database. The whole looks as follows:
@foreach($countertops as $value)
@foreach ($value->features as $feature)
@if ($feature->key == 'countertop_type')
@if ($feature->description == 4)
<input type="hidden" name="countertop[][id]" value="">
<div class="form-group row">
<div class="col-lg-4 col-md-4 col-sm-12 text-right pt-2">
<input type="checkbox"
class="xxxxxx mr-2"
name="countertop[][checkbox]" @if(!empty($product) && (!empty($selectedCountertops)) && (!empty($selectedCountertops['countertop['.$value->id.'][checkbox]'])) && old('countertop['.$value->id."][checkbox]", $selectedCountertops['countertop['.$value->id.'][checkbox]'])) checked @endif
value="1" >
<label></label>
</div>
<div class="col-lg-4 col-md-4 col-sm-5">
<input type="text"
name="countertop[][min]"
class="form-control currencyMask"
value=""
placeholder="Wpisz minimalną długość">
</div>
<div class="col-lg-4 col-md-4 col-sm-5">
<input type="text"
name="countertop[][max]"
class="form-control currencyMask"
value=""
placeholder="Wpisz maksymalną długość">
</div>
</div>
@endif
@endif
@endforeach
@endforeach
The form display works correctly. The problem is only in:
- checking / unchecking the checkbox (checked when status == 1 or unchecked when == 0 or no exist)
- entering the maximum value in input (maxvalue)
- entering the minimum value in input (minvalue)
In controller I Have:
$selectedCountertops = $selectedCountertopsRepository->getSelectedItems($id);
Where getSelectedItems is:
....
public function getSelectedItems(int $id)
{
return $this->model->where('product_id', $id)->orderBy('id', 'ASC')->get();
}
...
This return me:
Illuminate\Database\Eloquent\Collection {#1568 ▼
#items: array:2 [▼
0 => App\Models\SelectedCountertops {#1569 ▼
#quarded: array:1 [▶]
#fillable: array:5 [▶]
#connection: "mysql"
#table: "selected_countertops"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:8 [▼
"id" => 1
"countertops_id" => 8
"product_id" => 10
"status" => "1"
"maxvalue" => "88.00"
"minvalue" => "99.00"
"created_at" => "2020-06-25 09:44:17"
"updated_at" => "2020-06-25 09:44:17"
]
#original: array:8 [▶]
#changes: []
#casts: []
#classCastCache: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#guarded: array:1 [▶]
}
1 => App\Models\SelectedCountertops {#1570 ▶}
]
}
This is my model:
class SelectedCountertops extends Model
{
use ScopeActiveTrait;
protected $quarded = ['id'];
protected $fillable = ['product_id', 'status', 'maxvalue', 'minvalue', 'countertops_id'];
}
in blade file: $value->id is countertops_id from my model
How can I repair it?
When I make something like this: $selectedCountertops->toArray()
I have result:
array:2 [▼
0 => array:8 [▼
"id" => 1
"countertops_id" => 8
"product_id" => 10
"status" => "1"
"maxvalue" => "88.00"
"minvalue" => "99.00"
"created_at" => "2020-06-25T09:44:17.000000Z"
"updated_at" => "2020-06-25T09:44:17.000000Z"
]
1 => array:8 [▼
"id" => 2
"countertops_id" => 9
"product_id" => 10
"status" => "1"
"maxvalue" => "66.00"
"minvalue" => "77.00"
"created_at" => "2020-06-25T09:44:17.000000Z"
"updated_at" => "2020-06-25T09:44:17.000000Z"
]
]
from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2A2Wgd7
via IFTTT
Aucun commentaire:
Enregistrer un commentaire