Laravel:简单形式的get请求返回500错误

时间:2018-12-17 22:18:37

标签: php html laravel laravel-5

我要提交此表单,该表单在视图“ blog”中。现在,当我导航至视图blog时,该错误消息提示某些信息..我得到了500错误。我找不到错误。

 <form action="{{route('editBlog')}}" id="editForm{{$content->id}}" class="editForm">
                        @csrf
                        <input type="hidden" name="id" value="{{$content->id}}">
                        <input type="hidden" name="text" value="{{$content->content}}">
                        <button type="submit" class="btn-lg btn-dark">
                            <i class="fa fa-pencil" aria-hidden="true"></i>
                        </button>
                    </form>

我的web.php路由如下:

Route::get('editBlog/{id}/{text}','BlogController@edit')->name('editBlog');

“我的控制器”如下所示:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;


class BlogController extends Controller
{

   function edit($id,$text)
    {
        return view('edit', ['id' => $id, 'content' => $text]);
    }
}

视图edit存在并且在正确的目录中。

谢谢!

编辑:当我取出表单的代码时,视图可以正常工作。

2 个答案:

答案 0 :(得分:2)

因为您的路线是这样的:editBlog/3/34,而表单动作是这样的:editBlog,并且它们彼此不匹配,所以将您的路线更改为这样:

Route::get('editBlog','BlogController@edit')->name('editBlog');

和您的编辑功能如下:

function edit(Request $request)
{
    return view('edit', ['id' => $request->id, 'content' => $request->text]);
}

答案 1 :(得分:0)

您可以尝试对$text变量进行转储吗?我认为当您期望一个对象是因为在视图中调用$content->id时,它只是一个整数?这样做应该可以解决问题。

<?php   
   function edit($id, Text $text)
   {
       return view('edit', ['id' => $id, 'content' => $text]);
   }

假设您希望使用文本模型?

这种情况发生时,您也应该在页面上看到错误。您可以检查您的.env文件吗?像这样将您的环境设置为本地:

APP_ENV=local