laravel - 雄辩的关系不起作用返回尝试获取非对象的属性(已编辑)
问题描述
产品名称/标题表列与代码中使用的 My eloquent 关系不匹配
@if(is_null($order->orderid)) 没有产品 @else {{$order->products- >title}} @endif
<tbody>
@foreach($orders as $order)
<tr class="">
@endif
<td>{{$order->customer_email}}</td>
<td>{{$order->customer_name}}</td>
<td>{{array_sum($order->quantities)}}</td>
<td>{{$order->customer_city}}</td>
<td>@if(is_null($order->orderid)) No Product @else {{$order->products->title}} @endif</td>
<td>{{$order->method}}</td>
</tr>
@endforeach
</tbody>
这是我的产品型号和 ![数据库结构] https://i.postimg.cc/fT4t8xFv/products.png [![产品型号截图][1]][1]
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
protected $fillable = [
'title', 'category', 'tags', 'description', 'sizes', 'price', 'previous_price', 'stock',
'feature_image', 'policy', 'featured', 'views', 'created_at', 'updated_at', 'status'
];
public static $withoutAppends = false;
public function vendor()
{
return $this->belongsTo('App\Vendors', 'vendorid', 'id');
}
public function order()
{
return $this->belongsTo('App\Order', 'products');
}
}
这是我的订单模型和 ![数据库结构] https://i.postimg.cc/yN5YkKCT/orders.png [![订单模型截图][2]][2]
namespace App;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
protected $fillable = [
'customerid', 'products', 'quantities', 'method', 'shipping', 'pickup_location', 'pay_amount',
'txnid', 'charge_id', 'order_number', 'payment_status', 'customer_email', 'customer_name',
'customer_phone', 'customer_address', 'customer_city', 'customer_zip', 'shipping_name',
'shipping_email', 'shipping_phone', 'shipping_address', 'shipping_city', 'shipping_zip',
'order_note', 'booking_date', 'status'
];
public $timestamps = false;
public static $withoutAppends = false;
public function products()
{
return $this->hasMany('App\Product', 'orderid', 'id');
}
}
试图获取非对象的属性
解决方案
你products()
是一个对象的集合,你不能得到title
它,如果你想显示订单的产品,我建议这样:
<td>
@if(is_null($order->products))
No Product
@else
@foreach($order->products()->get() as $product)
{{$product->title}} -
@endforeach
@endif
</td>
推荐阅读
- ajax - 使用 foreach 将结果 ajax 传递给刀片
- database - 当 posrgresql 内存不足且未运行时如何从磁盘空间中删除表
- user-experience - UX 官方 Android Auto 平面图标
- python - 如何检查来自不同函数的两个变量是否相等?
- python - 为什么不调用 __del__ 方法?
- amazon-web-services - 如何为 dynamodb-local 配置 AWS 凭证?
- android-studio - 如何在我的应用程序中同步服务器时间。我不想使用设备当地时间
- c++ - 为什么继承链 D->B,C->A 中 A 成员的访问会导致歧义?
- flutter - 在小部件被移除之前应用动画
- python - 检查行值是否等于列名并访问列的值