您好我试图从表产品中获取产品ID以将其插入wishlist表中,这就是控制器的方式:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Auth;
use App\User;
use App\Product;
use DB;
class listController extends Controller
{
//
public function getCreate(){
$list=DB::table('wishlist')->get(['id','product_id']);
$product=Product::get(['name','id','salary','image_name']);
$user=Auth::user()->id;
return view('contents.wishlist')->with('list',$list)
->with('product',$product)
->with('user',$user);
}
public function postCreate(Request $request){
$id=$request->input('id');
$user_id=Auth::user()->id;
$product_id=Product::find('id');
DB::table('wishlist')->insert(['id'=>$id,'user_id'=>$user_id,'product_id'=>$product_id]);
return redirect()->action('listController@postCreate');
}
}
我可以使用的功能是什么? 显示列表的视图是:
<form id="wishlist-view-form" action="{{ action('listController@postCreate') }}" method="post">
<fieldset>
<input name="form_key" type="hidden" value="inYgLvzSpOOWWVoP" />
<table class="data-table" id="wishlist-table">
<thead>
<tr>
<th></th>
<th>Product Details and Comment</th>
<th>Add to Cart</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($product as $p)
@foreach($list as $l)
@if($p->id == $l->product_id)
<tr id="item_6">
<td>
<a class="product-image" href="product_detail" title=" {{$p->name}} "> <img src="{{asset('images/')}}/{{$p->image_name}}" width="113" height="113" alt=" {{$p->name}} " /> </a>
</td>
<td>
<h3 class="product-name"><a href="product_detail" title=" {{$p->name}} "> {{$p->name}} </a></h3>
<div class="description std">
<div class="inner">The must-have tee for his third birthday!</div>
</div>
<textarea name="description[6]" rows="3" cols="5" title="Comment" placeholder="Please, enter your comments..."></textarea>
</td>
<td>
<div class="cart-cell">
<div class="price-box" itemscope itemtype="http://schema.org/Product">
<span class="regular-price" id="product-price-258"> <span class="price" content="{{$p->salary}}">${{$p->salary}}</span> </span>
</div>
<div class="add-to-cart-alt">
<input type="text" class="input-text qty validate-not-negative-number" name="qty[6]" value="1" />
<button type="button" title="Add to Cart" onclick="addWItemToCart(6);" class="button btn-cart"><span><span>Add to Cart</span></span></button>
</div>
<p><a class="link-edit" href="#">Edit</a></p>
</div>
</td>
<td>
<a href="#" title="Remove Item" class="btn-remove btn-remove2">Remove item</a>
</td>
</tr>
@endif
@endforeach
@endforeach
</tbody>
</table>
<div class="buttons-set buttons-set2">
<button type="submit" name="save_and_share" title="Share Wishlist" class="button btn-share"><span><span>Share Wishlist</span></span></button>
<button type="button" title="Add All to Cart" class="button btn-add"><span><span>Add All to Cart</span></span></button>
<button type="submit" name="do" title="Update Wishlist" class="button btn-update"><span><span>Update Wishlist</span></span></button>
</div>
</fieldset>
</form>
答案 0 :(得分:1)
我的问题的答案是,我想制作一个隐藏的输入文件来放置产品的价值,控制器应该是这样的:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Input;
use Auth;
use App\User;
use App\Product;
use DB;
class listController extends Controller
{
//
public function getCreate(){
$list=DB::table('wishlist')->get(['id','product_id','user_id']);
$product=Product::get(['name','id','salary','image_name']);
$user=Auth::user()->id;
return view('contents.wishlist')->with('list',$list)
->with('product',$product)
->with('user',$user);
}
public function postCreate(Request $request){
$id=$request->input('id');
$user_id=Auth::user()->id;
$product_id=Input::get('product_id');
DB::table('wishlist')->insert(['id'=>$id,'user_id'=>$user_id,'product_id'=>$product_id]);
return redirect()->action('listController@postCreate');
}
}
答案 1 :(得分:1)
在html
内foreach
内添加其他输入以获取产品ID
<input type="hidden" name="product_id" value="{{ $p->id }}" />
在您的postCreate()
方法中使用此:
$product_id = $request['product_id'];
//or
$product_id = Input::get('product_id');