未定义变量 laravel 7
Undefined variable laravel 7
我不断得到
Undefined variable: products
products.blade
@foreach ($products as $prod)
<td>{{ $prod->name }} </td>
<td>{{ $prod->buying_price }}</td>
<td>{{ $prod->selling_price }}</td>
<td>{{ $prod->weight}}</td>
@endforeach
产品负责人
public function index()
{
$products = products::all();
return view('products.products')->with('products', $products);
}
我也试过
public function index()
{
$products = products::all();
return view ('products.products',compact('products'));
}
路线
Route::resource('products', 'ProductsController');
首先你应该确保你没有打错字。从您提供的代码可以看出,只要您拥有 products
模型,它就应该可以正常工作。
通常 Laravel 的工作方式是您有一条路线,在您的情况下是 url.test/products
,它绑定到 ProductsController
中的某个函数。您没有在路线中提供方法。也许就是这样。通常路线看起来类似于:
Route::get('/projects', 'ProjectController@index')->name('projects');
或者在 Laravel 8 中它看起来像这样:
Route::get('/projects/all', [App\Http\Controllers\ProjectController::class, 'index'])->name('projects');
那么控制器中的索引函数应该与此类似。在那种情况下,您上面的代码没有任何问题
$projects = Project::all();
return view('projects', compact('projects'));
并且您应该能够在您的视图中调用 $projects
。还要尝试查看 $projects
是否已满。只需在您的控制器中执行 dd($projects)
即可,因此请确保它 returns 一些内容。
我建议你重新检查整个过程,看看你是否犯了任何可能导致这种情况的错别字或错误,因为你上面的代码完全没问题,只是没有在路由中提供正确的功能。
编辑:
我明白了,你拼错了[product]。它应该是 [Product],因为您正在调用 Product 模型。
我不断得到
Undefined variable: products
products.blade
@foreach ($products as $prod)
<td>{{ $prod->name }} </td>
<td>{{ $prod->buying_price }}</td>
<td>{{ $prod->selling_price }}</td>
<td>{{ $prod->weight}}</td>
@endforeach
产品负责人
public function index()
{
$products = products::all();
return view('products.products')->with('products', $products);
}
我也试过
public function index()
{
$products = products::all();
return view ('products.products',compact('products'));
}
路线
Route::resource('products', 'ProductsController');
首先你应该确保你没有打错字。从您提供的代码可以看出,只要您拥有 products
模型,它就应该可以正常工作。
通常 Laravel 的工作方式是您有一条路线,在您的情况下是 url.test/products
,它绑定到 ProductsController
中的某个函数。您没有在路线中提供方法。也许就是这样。通常路线看起来类似于:
Route::get('/projects', 'ProjectController@index')->name('projects');
或者在 Laravel 8 中它看起来像这样:
Route::get('/projects/all', [App\Http\Controllers\ProjectController::class, 'index'])->name('projects');
那么控制器中的索引函数应该与此类似。在那种情况下,您上面的代码没有任何问题
$projects = Project::all();
return view('projects', compact('projects'));
并且您应该能够在您的视图中调用 $projects
。还要尝试查看 $projects
是否已满。只需在您的控制器中执行 dd($projects)
即可,因此请确保它 returns 一些内容。
我建议你重新检查整个过程,看看你是否犯了任何可能导致这种情况的错别字或错误,因为你上面的代码完全没问题,只是没有在路由中提供正确的功能。
编辑:
我明白了,你拼错了[product]。它应该是 [Product],因为您正在调用 Product 模型。