如何克服laravel中的“未定义变量”错误?

时间:2017-07-26 06:18:40

标签: laravel undefined crud

我正在使用带有xampp服务器的laravel 5.4。我正在从事基本的crud操作来学习laravel。在任何crud操作上获取“未定义的变量错误”由我执行。我的代码运行正常。点击提交后我的数据进入db。但后来我得到这个错误。如何克服这个错误?

home.blade.php:

 @foreach ($companies as $company)
    <a href="{{ url('dashboard') }}">{{ $company->com_name }}</a><br>
 @endforeach

HomeController.php:

public function index()
{
    $companies = DB::select('select * from company');
    return view('home',compact('companies', 'company'));
}

路由/ web.php:

Route::get('view-company','HomeController@index');

5 个答案:

答案 0 :(得分:1)

您没有在控制器中定义$company变量,因此请将其删除:

return view('home', compact('companies'));

答案 1 :(得分:0)

我想你可以试试这个:

public function index()
    {
        $companies = DB::select('select * from company');
        return view('home',compact('companies'));

    }

希望这对你有用!!!

答案 2 :(得分:0)

试试这个

<a href="{{ url('dashboard') }}">{{ $company->com_name or '' }}</a>

答案 3 :(得分:0)

use Illuminate\Support\Facades\View;

public function index()
    {

$companies = DB::table('company')->select('col1', 'col2')->get();
        return View::make('home')->with('companied', $companies);

    }

你在$ companies对象中没有得到任何东西,你需要定义表而不是get()。这样你就可以得到laravel系列。并且不要使用*,尽量避免它,选择所需的列。

我希望这可能有所帮助。

答案 4 :(得分:0)

这实际上不是错误。警告是您可以在指定名称空间后使用页面顶部的PHP php.ini-production php.ini-development 函数删除。

我通过使用以下命令删除了Laravel中的警告:

error_reporting()

更多详细信息:http://php.net/manual/en/function.error-reporting.php

希望它将对您有帮助,谢谢