如何从隐藏字段Laravel获取产品ID

时间:2019-06-30 13:00:25

标签: php mysql laravel laravel-5

当我使用隐藏的输入字段提交表单时,我试图获取产品的Id,但遇到错误Trying to get property of non-object。我该如何解决这个问题?

代码

控制器

class productController extends Controller
{

/**
 * Display a listing of the resource.
 *
 * @return \Illuminate\Http\Response
 */
public function index(Request $request)
{
    $userId = $request->user()->id;
    $products = product::where('admin', $userId)->get();
   return view('admin.product.index',compact('products'));
}



/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */

public function admin()
{
   $products=product::all();
   return view('admin.product.index',compact('products'));
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request) 
{ 

    $formInput=$request->all();
    $image=array();
    if($files=$request->file('image')){
        foreach($files as $file){
            $name=$file->getClientOriginalName();
            $file->move('images',$name);
            $image[]=$name;

        }
       // dd($formInput);

    }

    //dd($formInput); 
    Image::create(array_merge($formInput,[
       // $id=$request->input('id'), 
       // $product=Product::find($id),
        $request->input('product_id'),
    ])); 
    return redirect()->back(); 

}

刀片

   <form action="{{route('product.store')}}" method="post" 
   role="form" 
   enctype="multipart/form-data">
            {{csrf_field()}}
  @foreach ( $products as $product )
      <input type="hidden" name="product_id" value="{{ $product->id 
   }}" />
    @endforeach
    </form>

将提供任何帮助。

1 个答案:

答案 0 :(得分:0)

好像您有1个以上的product_id隐藏字段。

如果您打算提交超过1个,请在方括号中添加product_id[]

请求对象应检索相同的名称。您正在控制器中使用id,但正在提交product_id命名字段。

使用$request->input('product_id')