Laravel雄辩地获得比较真实的数据
我正在为一家时装店创建一个迷你库存。我用的是Laravel/Voyager面包和一切都很好。我有两个表Laravel雄辩地获得比较真实的数据,laravel,eloquent,voyager,Laravel,Eloquent,Voyager,我正在为一家时装店创建一个迷你库存。我用的是Laravel/Voyager面包和一切都很好。我有两个表size和Products,共有一列product\u code 我想从sizewhere列product\u code=product'product\u code'中获取结果。 我在控制器中有此查询: $product_code = Product::all(); $allSizes = Size::where('product_code', ($product_code->produ
size
和Products
,共有一列product\u code
我想从size
where列product\u code
=product'product\u code'
中获取结果。
我在控制器中有此查询:
$product_code = Product::all();
$allSizes = Size::where('product_code', ($product_code->product_code));
在browse.blade.php中,我有:
@foreach ($allSizes as $size)
<tr>
<td align="right">{{$size->size_name}}</td>
<td align="right">{{$size->stock}}</td>
</tr>
@endforeach
@foreach($allsize作为$size)
{{$size->size\u name}
{{$size->stock}
@endforeach
我猜where
语句没有按预期工作。
我想根据表
Sizes
中的product\u code
为每个尺码获取相应的库存
,您没有运行查询
$product_code=product::all();
#::all()将返回集合,您不能直接访问它的属性
$allSizes=Size::where('product_code',($product_code->first()->product_code))->get();
注意->get()
您没有运行
查询
$product_code=product::all();
#::all()将返回集合,您不能直接访问它的属性
$allSizes=Size::where('product_code',($product_code->first()->product_code))->get();
注意->get()
我认为你走错了方向。您的表在某种程度上是相关的,您需要定义一个关系,以便雄辩地访问数据 如果我正在建立这样一个数据库,我认为
产品
和大小
之间的关系是一个复杂的关系。也就是说,一个产品
可以有许多尺寸
s,您也可以在特定的尺寸
中购买许多产品
s。因此,您的模型应该彼此具有belongstomy()
关系
//Product.php
受保护的$with=['size'];//急装产品尺寸
公共功能大小(){
返回$this->belongtomany(大小::类);
}
//Size.php
公共功能产品(){
返回$this->belongtomany(产品::类);
}
那你就可以了
//ProductsController.php
公共功能展示(产品$Product){
退回$product;
}
我认为你走错了方向。您的表在某种程度上是相关的,您需要定义一个关系,以便雄辩地访问数据
如果我正在建立这样一个数据库,我认为产品
和大小
之间的关系是一个复杂的关系。也就是说,一个产品
可以有许多尺寸
s,您也可以在特定的尺寸
中购买许多产品
s。因此,您的模型应该彼此具有belongstomy()
关系
//Product.php
受保护的$with=['size'];//急装产品尺寸
公共功能大小(){
返回$this->belongtomany(大小::类);
}
//Size.php
公共功能产品(){
返回$this->belongtomany(产品::类);
}
那你就可以了
//ProductsController.php
公共功能展示(产品$Product){
退回$product;
}
试试这个
$product_code = Product::pluck('product_code')->toArray();
$allSizes = Size::whereIn('product_code', $product_code)->get();
在browse.blade.php中:
@foreach ($allSizes as $size)
<tr>
<td align="right">{{$size->size_name}}</td>
<td align="right">{{$size->stock}}</td>
</tr>
@endforeach
@foreach($allsize作为$size)
{{$size->size\u name}
{{$size->stock}
@endforeach
试试这个
$product_code = Product::pluck('product_code')->toArray();
$allSizes = Size::whereIn('product_code', $product_code)->get();
在browse.blade.php中:
@foreach ($allSizes as $size)
<tr>
<td align="right">{{$size->size_name}}</td>
<td align="right">{{$size->stock}}</td>
</tr>
@endforeach
@foreach($allsize作为$size)
{{$size->size\u name}
{{$size->stock}
@endforeach
Ye注意到了这一点。但是现在我得到一个错误,属性[product_code]在此集合实例上不存在。
检查我的更新答案,您返回的是product::all();它将返回一个集合,因此您不能执行此$product\U code->product\U code,因为$product\U code是一个集合,您需要选择一个值,但正如您所说的“不能执行此$product\U code->product\U code,因为$product\U code是一个集合”,我将product\U code作为变量。我试图得到的SQL语句是:SELECT*fromsizes,其中product\u code=$product\u code代码>然后详细说明数据,以获得每种产品的尺寸和每种尺寸的库存。叶注意到。但是现在我得到一个错误,属性[product_code]在此集合实例上不存在。
检查我的更新答案,您返回的是product::all();它将返回一个集合,因此您不能执行此$product\U code->product\U code,因为$product\U code是一个集合,您需要选择一个值,但正如您所说的“不能执行此$product\U code->product\U code,因为$product\U code是一个集合”,我将product\U code作为变量。我试图得到的SQL语句是:SELECT*fromsizes,其中product\u code=$product\u code
然后详细说明数据,以获得每种产品的大小和每种大小的库存。或者您可以要求join alsois抛出bac错误尝试获取非对象的属性“product\u code”
立即检查@fallcoshkoderOr您可以要求join alsois抛出bac错误尝试获取非对象的属性“product\u code”
检查现在是@fallcoshkoder