当前位置: 首页 > 知识库问答 >
问题:

Laravel在方法创建和存储中返回未知错误

孔厉刚
2023-03-14

我有一个问题,我的项目,我尝试写的方法保存记录到数据库。我创建了controller ProductsController,其中添加了以下方法:

public function create(){
        $articles = Article::lists('article_name', 'id');
        $categories = Category::lists('category_name', 'id');
        $date = Carbon::now();
        $minDate = Carbon::minValue($date);
        return view('pages.createproduct', compact('articles', 'categories', 'date', 'minDate'));
    }

    public function store(CreateProductRequest $request){
        dd($request->article_name);
        $product = new Product($request->all());
        Auth::user()->products()->save($product);
        return redirect('warehouse');
    }

接下来,我创建了文件createproduct。刀身php:

{!! Form::open(['url' => 'warehouse/create', 'class' => 'form-horizontal']) !!}
        {!! Form::select('article_name[]', $articles, NULL, ['class' => 'form-control']) !!}<br />
        {!! Form::select('category_name[]', $categories, NULL, ['class' => 'form-control']) !!}<br />
        {!! Form::text('sn', null, ['class' => 'form-control', 'placeholder' => 'Podaj serial...']) !!}<br />
        {!! Form::number('quantity', null, ['class' => 'form-control', 'min' => '1', 'placeholder' => 'Podaj ilość...']) !!}<br />
        {!! Form::date('warranty', $date, ['class' => 'form-control', $minDate]) !!}<br />

        {!! Form::submit('Dodaj', ['class' => 'btn btn-default']); !!}
{!! Form::close() !!}

我的routes.php文件是这样的:

Route::get('/contact', 'PagesController@contact');
Route::resource('/addarticle', 'ArticlesController');
Route::resource('/addcategory', 'CategoriesController');
Route::resource('/warehouse', 'ProductsController');
Route::auth();
Route::get('/home', 'HomeController@index');

当我想保存记录到数据库Laravel返回一个错误:

在RouteCollection.php行218

  1. 在RouteCollection.php218行
  2. 在路由收集-

共有1个答案

郝君博
2023-03-14

看起来资源路线有些混乱...

在这里偏离了图表...https://laravel.com/docs/5.2/controllers#restful-resource-controllers

/warehouse/create将是向您显示表单的路线,它是一个获取请求。您希望存储仓库,因此表单的URL应该指向/warehouse,并且应该是POSTrequest。

记住这一点,你应该改变。。。

{!! Form::open(['url' => 'warehouse/create', 'class' => 'form-horizontal']) !!}

{!! Form::open(['route' => 'warehouse.store', 'method' => 'post', 'class' => 'form-horizontal']) !!}

请注意,我还将url更改为route,因为允许Laravel为您生成url比使用相对url更安全,因为如果您的路由因某种原因发生更改,或者如果您在另一页上有相同的表单,则相对url很容易中断。

 类似资料:
  • 问题内容: 我目前有一种方法可以检查3x3网格中中心项周围的内容,如果8个相邻位置中的内容包含我要检查的内容,我想在长度为7的数组上将该正方形标记为1。 为此,我需要在我的方法中创建并返回一个数组,这可能吗? 问题答案: 不知道是什么问题。你是这个意思?

  • 我要用Kafka流计算平均值。所以我做了一个有状态的操作,聚合,需要创建一个状态存储,但是这种情况不会发生。 这里是平均值的函数: 以下是例外情况: 问题是基本目录不存在,但我希望kafka流在必要时创建目录。 编辑 ----- 我注意到,如果我有1个处理器,使一个变量的平均值没有问题,但如果我有2个处理器是。 1个处理器的配置文件: 2个处理器的配置文件: 现在我启动处理器: 类型元组包含配置文

  • 问题内容: 我想将方法​​返回的数组存储到另一个数组中。我怎样才能做到这一点? 当我调用此方法时,如何将返回的数组(z)存储到另一个数组中? 问题答案: 上面的方法不返回数组本身,而是返回对该数组的引用。在调用函数中,您可以在另一个引用中收集此返回值,例如: 此后还将引用之前引用的同一数组。 如果这不是您想要的,并且要创建阵列的副本,则可以使用创建副本。

  • 首先,我是在laravel中使用ajax的初学者。我试图通过警报或控制台检查输入字段是否正常工作。日志返回未定义。 我的刀片文件代码 我的控制器文件代码。。尽管其注释的公共函数存储(Request$Request){//Tag::create([ 网状物php/** 标签控制器*/ 路由::资源('tag','App\Http\Controllers\TagController'); 路由::po

  • 问题内容: 这让我发疯。 还给我 那将是线 怎么了 我尝试了一些小的更改,但总是收到相同的错误。我检查了文档,但看不到语法错误。我知道这是一个愚蠢的错误,但是我坚持了大约半个小时。是一个游标,它迭代每一行并为每一行执行一个存储过程;我已经用存储函数完成了它(它的工作原理很像魅力),但是在服务器上发布时,我看到我的共享主机不支持存储函数,只支持存储过程:(因此,这是我最好的方法我发现了。 问题答案: