Php 为什么数据没有传递到Laravel中的视图?
查看页面中不显示数据。已加载视图页,但未传递数据 作为我的第一个Laravel项目,我无法找出错误?如果有人能帮助解决这个问题,那将是一个很大的帮助 CartController.phpPhp 为什么数据没有传递到Laravel中的视图?,php,laravel,woocommerce,e-commerce,Php,Laravel,Woocommerce,E Commerce,查看页面中不显示数据。已加载视图页,但未传递数据 作为我的第一个Laravel项目,我无法找出错误?如果有人能帮助解决这个问题,那将是一个很大的帮助 CartController.php use Illuminate\Http\Request; use App\Product; use App\Category; class CartController extends Controller { public function index() { $prod
use Illuminate\Http\Request;
use App\Product;
use App\Category;
class CartController extends Controller
{
public function index()
{
$product = Product::get();
return view ('cart')->with(compact('products'));
}
public function show($id)
{
$product = Product::find($id);
return view('cart')->with(compact('product'));
}
}
cart.blade.php
@foreach($product as $p)
<tr class="">
<td class="d-none d-md-table-cell">
<a href="#"><img class="img-fluid max-width-100 p-1 border border-color-1" src="{{asset('/storage/admin/'.$p ['prod_image_path'] ) }}" alt="Image Description"></a>
</td>
<td data-title="Product">
<a href="#" class="text-gray-90">{{ $p ['prod_name'] }}</a>
</td>
<td data-title="Price">
<span class="">LKR {{ $p ['prod_price'] }}.00</span>
</td>
</tr>
@endforeach
在索引方法中,变量名为$product singular,但您将产品以复数形式发送到视图中。因此,在您的视图中,这将是空的。纠正这个拼写错误,你的索引应该是正确的
对于show方法,@TimLevis已经指出,您正在检索产品的单个实例,而不是集合。在索引方法中,您的变量名为$Product singular,但您正在将产品以复数形式发送到视图中。因此,在您的视图中,这将是空的。纠正这个拼写错误,你的索引应该是正确的
return view('products', compact('product'));
对于show方法,@TimLevis已经指出,您正在检索产品的单个实例,而不是集合
return view('products', compact('product'));
除非存在数组属性,否则不能迭代单个对象。
您可以像这样访问视图中的数据{{$product->price}
除非存在数组属性,否则不能迭代单个对象。
您可以像这样访问视图中的数据{{$product->price}$product是产品模型的单个实例或null;为什么将@foreach$product称为$p?您只需访问每个属性,如$product->prod\U price。编辑:哦,等等;你两者都在做。。。在一次调用中,您传递了一个集合或产品,但在另一次调用中,您只传递了1。这是您的问题所在。您的视图只能有一个模型。它可以是单个项目,也可以是项目列表。列表在您的情况下更有意义,因为它仍然支持Cart中只有一项的场景,即{{$p->prod_name}}而不是{{$p['prod_name']}}@sta,这两者之间有什么区别?@Zeenath您不能以这种方式访问数组$data['name'],和$data->name,仅适用于对象$product是产品模型的单个实例或null;为什么将@foreach$product称为$p?您只需访问每个属性,如$product->prod\U price。编辑:哦,等等;你两者都在做。。。在一次调用中,您传递了一个集合或产品,但在另一次调用中,您只传递了1。这是您的问题所在。您的视图只能有一个模型。它可以是单个项目,也可以是项目列表。列表在您的情况下更有意义,因为它仍然支持Cart中只有一项的场景,即{{$p->prod_name}}而不是{{$p['prod_name']}}@sta,这两者之间有什么区别?@Zeenath您不能以这种方式访问数组$data['name'],和$data->name,仅适用于对象。我需要在此添加购物车功能。安装或编码的最佳实践是什么?请引导我。这太复杂了,无法评论。有很多很好的教程,如果你继续学习laravel,我建议你使用laracast,如果你在某个特定问题上需要帮助,请问另一个问题:我需要向这个添加购物车功能。安装或编码的最佳实践是什么?请引导我。这太复杂了,无法评论。有很多很好的教程,如果你继续学习laravel,我建议你使用laracast,如果你在某个特定问题上需要帮助,请问另一个问题: