【发布时间】:2016-10-31 12:22:30
【问题描述】:
又是我,但现在我需要你的更多帮助,我有一些版本的购物车,整个想法是当我点击产品按钮时,数据库将更新用户(id)订购的信息该产品(ID)。首先我用信息(id,product_name,price)制作订单表,其他表是用户表(id,user_name)和最终表user_order表(id,user_id,order_id);
之后我制作了两个模型,一个是产品的订单模型,第二个是用户模型。我想建立的关系是这两个模型之间的关系。
用户模型函数:
public function orders(){
return $this->belongsToMany('App\Orders', 'user_order', 'user_id', 'order_id');
// return $this->belongsToMany('App\Orders');
}
订单模型函数:
public function users(){
return $this->belongsToMany('App\User', 'user_order', 'order_id', 'user_id');
//return $this->belongsToMany('App\User');
}
这是我用提交按钮显示所有产品的主要 html:
<div class="row">
@foreach($orders as $order)
<div class="col-sm-4 col-lg-4 col-md-4">
<div class="thumbnail">
<img src="http://placehold.it/320x150" alt="">
<div class="caption">
<h4 class="pull-right">{{ $order->cena }}</h4>
<h4><a href="#">{{ $order->order_name }}</a>
</h4>
<p>See more snippets like this online store item at <a target="_blank" href="http://www.bootsnipp.com">Bootsnipp - http://bootsnipp.com</a>.</p>
</div>
<div class="ratings">
<p class="pull-right">15 reviews</p>
<p>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
<span class="glyphicon glyphicon-star"></span>
</p>
</div>
<div class="btn-group center">
<a href="{{ route('product.makeOrder',['id' => $order->id]) }}" name="req" class="btn btn-warning">Order this product!</a>
</div>
<br>
</div>
</div>
@endforeach
控制器功能:
public function makeOrder(Request $request, $id){
$user = User::where('email', $request['email'])->first();
$findorder = Orders::find($id);
//$user->orders()->detach();
$user->orders()->attach(Orders::where('id', $findorder))->first();
return redirect()->back();
}
还有路线:
Route::get('/add-to-database/{id}',[
'uses' => 'AppController@makeOrder',
'as' => 'product.makeOrder'
]);
整个想法是如何在提交按钮后使用用户ID和产品ID更新表格user_order。
有什么帮助吗?
【问题讨论】:
-
什么不工作或者你需要帮助哪一部分?
-
我不知道如何制作我在问题中提到的功能
-
您是否至少为此创建了路由和控制器?另外,我看不到提交按钮。
-
我认为pivot应该是
order,User模型应该有products()方法,Product模型应该有user()方法。 USER有很多订单,不属于很多订单。
标签: php mysql laravel laravel-5 eloquent