У меня есть две модели, блейд-страница и контроллеры для реализации главной-подробной страницы в Laravel -5.8. Я хотел бы знать, как я могу сохранить детализацию в базе данных.
Основная модель
namespace App;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
protected $fillable = [
'id',
'name',
];
public function detail()
{
return $this->hasMany('App\OrderDetail','order_id','id');
}
Детальная модель
namespace App;
use Illuminate\Database\Eloquent\Model;
class OrderDetail extends Model
{
protected $fillable = [
'id',
'order_id',
'item',
'total',
];
}
create.blade view
<div class="row">
<div class="clearix"></div>
<div class="col-md-12">
<div class="tile">
<h3 class="tile-title">Order</h3>
<div class="tile-body">
<form method="POST" action="{{route('order.store')}}">
@csrf
<div class="form-group col-md-8">
<label class="control-label">Name</label>
<input name="name" class="form-control @error('name') is-invalid @enderror" type="text" placeholder="Enter Name">
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Item Name</th>
<th scope="col">Total</th>
<th scope="col"><a class="addRow"><i class="fa fa-plus"></i></a></th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="item[]" class="form-control qty" ></td>
<td><input type="text" name="total[]" class="form-control price" ></td>
<td><a class="btn btn-danger remove"> <i class="fa fa-remove"></i></a></td>
</tr>
</tbody>
</table>
<div>
<button class="btn btn-primary" type="submit">Submit</button>
</div>
</form>
</div>
</div>
@endsection
<script type="text/javascript">
$(document).ready(function(){
$('.addRow').on('click', function () {
addRow();
});
function addRow() {
var addRow = '<tr>\n' +
' <td><input type="text" name="item[]" class="form-control item" ></td>\n' +
' <td><input type="text" name="total[]" class="form-control total" ></td>\n' +
' <td><a class="btn btn-danger remove"> <i class="fa fa-remove"></i></a></td>\n' +
' </tr>';
$('tbody').append(addRow);
};
$('.remove').live('click', function () {
var l =$('tbody tr').length;
if(l==1){
alert('you cant delete last one')
}else{
$(this).parent().parent().remove();
}
});
});
</script>
Контроллер
class OrderController extends Controller
{
public function store(Request $request)
{
$order = new Order();
$order->name = $request->order;
$order->save();
return redirect('order/'.$order->id)->with('message','Order created Successfully');
}
}
Я успешно сохранил заказ. Как мне добавить в него oop OrderDetail. И для магазина, и для обновления?
Спасибо