#php #laravel #eloquent #orm #pivot
Вопрос:
Я провел много исследований по этому поводу, но я не могу получить сводную таблицу так, как хочу. Я хочу просто извлечь значение измерения из структуры, подобной сводной таблице, которую вы можете видеть. Пожалуйста, сначала проверьте все мои данные, тогда вы знаете, что я хочу показать.
Модель MeasurementPart.php
public function customers(){ return $this->belongsToMany(Customer::class, 'customer_measurements', 'measurementpart_id', 'customer_id')->withPivot('measurement'); }
Модель Customer.php
public function measurementparts(){ return $this->belongsToMany(MeasurementPart::class, 'customer_measurements', 'customer_id', 'measurementpart_id')->withPivot('measurement'); }
Модель CustomerMeasurement.php
public function customers(){ return $this->belongsToMany(Customer::class); } public function measurementparts(){ return $this->belongsToMany(MeasurementPart::class); }
Вот мой контроллер CustomerMeasurementController.php
public function editMeasurements(Request $request, $id){ $customer = Customer::with("measurementparts")->find($id); $clothType = ClothType::all(); return view('customerMeasurements.edit', compact('customer', 'clothType')); } public function updateMeasurements(Request $request, Customer $customer){ $measurements = $request->input('measurement'); $filteredmeasurements = array_filter($measurements, function($a){ return $a !== null; }); $measurement_id = $request->input('measurement_id'); $result = array_combine($measurement_id, $measurements); $syncData = array(); foreach($result as $measurement_id=> $filteredmeasurements){ $syncData[$measurement_id] = array('measurement' => $filteredmeasurements); } $customer->measurementparts()->sync($syncData); return redirect()->route('customers.index')->withStatus(__('Measurements successfully Updated.')); }
Посмотреть EditMeasurements.blade.php
<form action="{{ route('updateMeasurements', ['customer'=> $customer]) }}" method="POST"> @csrf @foreach ($clothType as $item) <tr> <h3>{{ $item->name }}</h3> <table> @foreach ($item->measurementparts as $part) <tr> <td> <img style="width: 191px;" class="img" src="{{ asset('storage/image/' . $part->image) }}" alt=""> <input type="hidden" name="measurement_id[]" value="{{$part->id}}"> </td> <td><a href="">{{ $part->name }}</a></td> <td><input type="text" name="measurement[]" value="**I want to put here my measurment value**" class="form-control"></td> </tr> @endforeach </table> </tr> <br> <hr> @endforeach <input type="submit" value="Submit" class="btn btn-primary"> </form>
это изображение, на котором я хочу поместить описание изображения здесь
Комментарии:
1. Не могли бы вы, пожалуйста, показать все
CustomerMeasurement
модели?2. Весь код есть, пожалуйста, проверьте CustomerMeasurement.php