Dinamik bir formu laravel'e kaydetmeye çalışıyorum. veri dizisini veri tabanına kaydedemedi. aşağıdaki formu. Laravel dinamik giriş veri dizisini veritabanına kaydetme
kısa{!! Form::select('customer_id', ['' => 'Select a customer'] + $customer_list ,null , array('class' => 'form-control', 'id' => 'customer')) !!}
{!! Form::text('mileage_in', null, ['class' => 'form-control', 'placeholder' => 'Mileage In']) !!}
.
.
.etc...
Dinamik form alanları
{!! Form::select('item_id[][item_id]', $items, null, array('class' => 'form-control')) !!}
{!! Form::text('item_description[][item_description]', null, ['class' => 'form-control', 'placeholder' => 'Not Required | Optional']) !!}
{!! Form::text('units[][units]', null, ['class' => 'form-control', 'placeholder' => 'Add Units']) !!}
{!! Form::text('rate[][rate]', null, ['class' => 'form-control', 'placeholder' => 'Add Rate']) !!}
{!! Form::text('amount[][amount]', null, ['class' => 'form-control', 'placeholder' => 'Add Hrs and Rate', 'id' => 'amount']) !!}
Normal form alanları aynı şeklindedir. Bu verileri üç farklı tabloya kaydediyorum. Oluşturduğum modeller şunlardır:
. Tahminler tablo için
tahmin modeli
class Estimate extends Model
{
protected $fillable = [
'customer_id',
'vehicle_id',
'mileage_in',
'net_amount',
'parent_estimate_id',
'department',
'created_by'
];
public function customer(){
return $this->belongsTo('App\Customer');
}
public function vehicle(){
return $this->belongsTo('App\Vehicle');
}
public function estimate_details(){
return $this->hasMany('App\EstimateDetail');
}
}
ürün tablosu için estimate_details tablo için EstimateDetail modeli
class EstimateDetail extends Model
{
protected $fillable = [
'estimate_id',
'item_id',
'item_description',
'units',
'rate',
'labor_amount_final',
'initial_amount',
'task_status'
];
public function item()
{
return $this->hasMany('App\Item');
}
public function estimate()
{
return $this->belongsTo('App\Estimate');
}
}
Ürün model
class Item extends Model
{
protected $fillable = [
'name',
'type',
'location',
'quantity',
'sale_price',
'unit_of_sale',
'pre_order_level',
'created_by',
'category_id',
'service_only_cost',
'updated_at'
];
public function estimate_details()
{
return $this->hasMany('App\EstimateDetail');
}
}
Foll nedeniyle kod başarıyla tabloları araç ve tahminleri araç ve tahmin verileri kaydedebilirsiniz EstimatesController
class EstimatesController extends Controller
{
public function store(EstimateRequest $request)
{
$user_id = '1';
$input = $request->all();
$vehicle = new Vehicle();
$vehicle->customer_id = $input['customer_id'];
$vehicle->reg_no = $input['reg_no'];
$vehicle->make = $input['make'];
$vehicle->model = $input['model'];
$vehicle->created_by = $user_id;
$estimate = new Estimate();
$estimate->customer_id = $input['customer_id'];
$estimate->vehicle_id = $input['vehicle_id'];
$estimate->mileage_in = $input['mileage_in'];
$estimate->department = $input['department'];
$estimate->created_by = $user_id;
$estimate_detail = new EstimateDetail();
$estimate_detail->item_id = $input['item_id'];
$estimate_detail->item_description = $input['item_description'];
$estimate_detail->units = $input['units'];
$estimate_detail->rate = $input['rate'];
$estimate_detail->initial_amount = $input['amount'];
$vehicle->save($request->all());
$vehicle->estimate()->save($estimate);
$estimate->estimate_details()->save($estimate_detail);
}
return redirect('/estimates');
}
olduğunu. ama tahmin ayrıntıları dizileri tahmin tablosunda kaydedemiyorum. çok farklı yollar denedi ama sonunda başarısız oldu. lütfen yardım edin!
Cevabınız için teşekkür ederiz. Bunu daha önce denedim. ama bu hatayı alıyorum. msgstr "preg_replace(): Parametre uyuşmazlığı, desen bir dizgedir." – Dhananjaya
Evet. Çünkü bir kerede diziyi eklemeyi deniyorsunuz. $ gibi öğelerinizden sonra bir dizin ekleyin: $ estimate_detail-> item_id = $ input ['item_id'] [0]; $ estimate_detail-> item_description = $ input ['item_description'] [0]; $ estimate_detail-> units = $ input ['units'] [0]; $ estimate_detail-> rate = $ input ['rate'] [0]; $ estimate_detail-> initial_amount = $ input ['amount'] [0]; Çalışıyorsa, döngü için gidin. –
Döngü içermeyen dizinler eklemeyi denedim. hala aynı hatayı alıyor. "preg_replace():" Parametre uyuşmazlığı "ve" aşağıdaki gibi ayrıntılı hata "," estimate_details "(" estimate_id "," item_id "," item_description "," units "," rate "," initial_amount "," updated_at) ',' created_at') değerlerini (89,?,?,?,?,?,?) " – Dhananjaya