laravel数据库中未插入任何记录

时间:2020-03-03 23:09:30

标签: laravel eloquent insert save

我已经尝试过多次插入不属于数据库类别的产品 这是控制者

class ProduitController extends Controller
{
     public function store(Request $request)
     {
        $pdt=new Produit(); 
        $pdt->nom=$request->input('nomPdt');
        $pdt->libelle=$request->input('libelle');
        $pdt->qte_stock=$request->input('qte');
        $pdt->pu=$request->input('pu');
        $pdt->categorie_id=$request->input('categorie');
        $pdt->etat=1;

       $pdt->save();
     }}

查看

<form action="{{url('produit/'.$pdt->id)}}" method="post">
<label for="nom">nom:</label><br>
<input type="text" id="" name="nom" value=""><br>

<label for="libelle">libellé:</label><br>
<input type="text" id="" name="libelle" value=""><br>

<label for="qte">Qte en stock:</label><br>
<input type="number" id="" name="qte" value="" min="0"><br>

<label for="pu">PU:</label><br>
<input type="number" id="" name="pu" value="" min="0"><br>

<label for="etat">Etat:</label>
<input type="checkbox" id="" name="etat" ><br>

<label for="selectCategorie">Categorie:</label>
<select id="" name="selectCategorie">
    <option value="selectionnez">selectionnez</option>
    @foreach ($categories as $cat)
    <option value="{{ $cat->id }}"> {{ $cat->nom }} </option>
    @endforeach
</select>


与类别表关联的产品表 enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

我们在这里看不到路线和uri的全貌。值得验证。最简单的方法是在控制器的store()方法顶部的临时dd(‘here’);,以确保您达到所需的控制器方法。经过验证后,您可以删除dd()并放心地继续前进。

您在控制器中引用的一些输入名称与您的表单中的名称不匹配。您需要确保所有内容都与表单中的名称匹配。

 $pdt=new Produit(); 
    $pdt->nom=$request->input('nom');
    $pdt->libelle=$request->input('libelle');
    $pdt->qte_stock=$request->input('qte');
    $pdt->pu=$request->input('pu');
    $pdt->categorie_id=$request->input('selectCategorie');
    $pdt->etat=1;//you have this on your form, but have hard coded here?

   $pdt->save();

您还可以通过加载所有输入并在模式下使用create()方法来稍微清理一下。

$inputData = $request()->all();

$pdt = Produit::create([
    'nom' => Arr::get($input, 'nom'), 
    'libelle' => Arr::get($input, 'libelle'),
    'qte_stock' => Arr::get($input, 'qte'),
    'pu' => Arr::get($input, 'pu'),
    'categorie_id' => Arr::get($input, 'selectCategorie'),
    'etat’ => 1
]);

希望这可以使一切正常!

相关问题