如何克服 laravel 中的 "Undefined variable" 错误?

How to overcome on "Undefined variable" error in laravel?

我正在使用 laravel 5.4 和 xampp 服务器。我正在研究基本的 crud 操作以学习 laravel。在我执行的任何 crud 操作上获得 "undefined variable error"。我的代码工作正常。单击提交后,我的数据进入数据库。但后来我得到了这个错误。如何克服这个错误?

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'));
}

routes/web.php:

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

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

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

我想你可以试试这个:

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

    }

希望这对你有用!!!

试试这个

<a href="{{ url('dashboard') }}">{{ $company->com_name or '' }}</a>
use Illuminate\Support\Facades\View;

public function index()
    {

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

    }

您没有在 $companies 对象中得到任何东西,您需要定义 table 和 get()。这样您将获得 laravel 个集合。并且不要使用 * ,尽量避免使用它,select 需要的列。

希望对您有所帮助。