如果一个字段没有默认值,如何在Laravel中插入一行?
我试图在表单中插入会话用户id,但出现以下错误: SQLSTATE[HY000]:一般错误:1364字段“用户id”没有默认值(SQL:插入如果一个字段没有默认值,如何在Laravel中插入一行?,laravel,Laravel,我试图在表单中插入会话用户id,但出现以下错误: SQLSTATE[HY000]:一般错误:1364字段“用户id”没有默认值(SQL:插入股票(产品名称,产品代码,详细信息,价格,成本,数量,更新时间,创建时间)值(巴斯马蒂·赖斯,23432,dskljsdlkks;lk;ks;lvk,40,75100kg,2019-09-09 08:43:1212019-09-09 08:43:12) 我认为我用来存储会话id的这行代码有错误 <input type="hidden" name="u
股票(产品名称,产品代码,详细信息,价格,成本,数量,更新时间,创建时间)值(巴斯马蒂·赖斯,23432,dskljsdlkks;lk;ks;lvk,40,75100kg,2019-09-09 08:43:1212019-09-09 08:43:12)
我认为我用来存储会话id的这行代码有错误
<input type="hidden" name="user_id"
value="{{ $request->session()->put('user',$request->input('id')) }}"
> class="form-control">
class=“表单控制”>
这是我的创建刀片页面,我创建了一个表单并尝试插入表单字段
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-md-12">
@if(count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
@if(\Session::has('success'))
<div class="alert alert-success">
<p>{{ \Session::get('success') }}</p>
</div>
@endif
<div class="card">
<div class="card-header">
<h5 class="title">Add New Product on Stock</h5>
</div>
<div class="card-body">
<form method="post" action="{{url('stock')}}">
{{csrf_field()}}
<div class="row">
<div class="col-md-6 pr-1">
<div class="form-group">
<label>Product Name</label>
<input type="text" name="user_id"
value="{{Auth::user()->id }}" class="form-control">
<input type="text" name="product_name" class="form-control" placeholder="Enter Product Name" />
</div>
</div>
<div class="col-md-6 pl-1">
<div class="form-group">
<label>Product Code</label>
<input type="text" name="product_code" class="form-control" placeholder="Enter product_code" />
</div>
</div>
</div>
</br>
<div class="row">
<div class="col-md-4 pr-1">
<div class="form-group">
<label>Price</label>
<input type="text" name="price" class="form-control" placeholder="Enter price" />
</div>
</div>
<div class="col-md-4 px-1">
<div class="form-group">
<label>Cost</label>
<input type="text" name="cost" class="form-control" placeholder="Enter cost" />
</div>
</div>
<div class="col-md-4 pl-1">
<div class="form-group">
<label>Quantity</label>
<input type="text" name="quntity" class="form-control" placeholder="Enter quntity" />
</div>
</div>
</div>
</br>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Details</label>
<input type="text" name="details" class="form-control" placeholder="Enter details" />
</div>
</div>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" />
</div>
</form>
</div>
</div>
@endsection
@extends('layouts.app'))
@节(“内容”)
@如果(计数($errors)>0)
@foreach($errors->all()作为$error)
- {{$error}}
@endforeach
@恩迪夫
@如果(\Session::has('success'))
{{\Session::get('success')}
@恩迪夫
增加新产品的库存
{{csrf_field()}}
品名
产品代码
价格
成本
量
细节
@端部
这是我的库存控制器文件
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Stock;
use Auth;
class StockController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$stocks = Stock::all()->toArray();
return view('stock.index', compact('stocks'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('stock.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'user_id' =>'required',
'product_name' => 'required',
'product_code' => 'required',
'details' => 'required',
'price' => 'required',
'cost' => 'required',
'quntity' => 'required'
]);
$stock = new Stock([
'user_id' => Auth::user()->user_id,
'product_name' => $request->get('product_name'),
'product_code' => $request->get('product_code'),
'details' => $request->get('details'),
'price' => $request->get('price'),
'cost' => $request->get('cost'),
'quntity' => $request->get('quntity')
]);
$stock->save();
return redirect()->route('stock.index')->with('success', 'Data Added');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$stock = Stock::find($id);
return view('stock.edit', compact('stock', 'id'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$this->validate($request, [
'product_name' => 'required',
'product_code' => 'required',
'details' => 'required',
'price' => 'required',
'cost' => 'required',
'quntity' => 'required'
]);
$stock = Stock::find($id);
$stock->product_name = $request->get('product_name');
$stock->product_code = $request->get('product_code');
$stock->details = $request->get('details');
$stock->price = $request->get('price');
$stock->cost = $request->get('cost');
$stock->quntity = $request->get('quntity');
$stock->save();
return redirect()->route('stock.index')->with('success', 'Data Updated');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$stock = Stock::find($id);
$stock->delete();
return redirect()->route('stock.index')->with('success', 'Data Deleted');
}
}
更改此选项:
$request->session()->put('user',$request->input('id'))
要喜欢这个:
Session::set('user',$request->input('id'));
请注意,您需要将$request传递给视图,以便使用请求数据。否则,请创建变量$user\u id并将其传递给视图刀片。在这种情况下,您可以执行以下操作:
Session::set('user',$user_id);
更改此项:
$request->session()->put('user',$request->input('id'))
要喜欢这个:
Session::set('user',$request->input('id'));
请注意,您需要将$request传递给视图,以便使用请求数据。否则,请创建变量$user\u id并将其传递给视图刀片。在这种情况下,您可以执行以下操作:
Session::set('user',$user_id);
您不必使用$request->input('id')来获取用户id。
简单使用
Session::flash(Auth::user()->id);
对于您的代码
<input type="hidden" name="user_id"
value="{{Auth::user()->id, Session::flash(auth::user()->id) }}"
> class="form-control">
使用会话变量来存储
或者您可以使用Auth::user()->id直接将用户标识存储在该行中
'user_id' => Auth::user()->user_id,
您不必使用$request->input('id')来获取用户id。
简单使用
Session::flash(Auth::user()->id);
对于您的代码
<input type="hidden" name="user_id"
value="{{Auth::user()->id, Session::flash(auth::user()->id) }}"
> class="form-control">
使用会话变量来存储
或者您可以使用Auth::user()->id直接将用户标识存储在该行中
'user_id' => Auth::user()->user_id,
请参阅我更新我的问题。我试图找到在库存表中存储会话用户id的方法,但每次都失败。在使用App/stack;后,在控制器顶部找不到类“App\Http\Controllers\session”,添加行use session;@user12033292你能给我一个链接,我可以用会话id“user\u id”=>Auth::user插入数据吗()->用户id,请尝试此行bro..我更新了我的问题,而不是sessionSee。我试图找到将会话用户id存储在我的库存表中的方法,但每次都失败。在控制器顶部找不到类“App\Http\Controllers\session”,在使用App/stack;之后,添加行“use session;”@user12033292您能给我提供我需要的链接吗插入会话id为'user\u id'=>Auth::user()->user\u id的数据,请尝试此行bro..而不是会话