laravel 尝试读取整数的属性“id”

2ul0zpep  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(147)

我是一个新的在laravel和工作的电子商务项目。请帮助我!
我正在尝试从数据库获取数据,但无法获取。
我的功能

public function add_product_attributes($id)
{

    $attributes  =  Product::where(['id' => $id])->with('attributes')->first();
    $attributes_data = $attributes->toArray();
    dd($attributes_data); //here i can see my required data 

   $product_attributes = product::find($id);
    // dd($product_attributess);
    return view('admin.add_product_attributes', compact('product_attributes', 'attributes_data'));
}

//我想获取多条记录,如SKU、颜色、尺寸等
//这是我可以使用dd($attributes_data)查看的记录

array:14 [▼ // app\Http\Controllers\AdminController.php:228
  "id" => 2
  "title" => "shirt"
  "category_id" => 1
  "price" => "12$"
  "dis_price" => "1000$"
  "quantity" => "1"
  "product_code" => "002"
  "product_color" => "blue"
  "short_description" => "test"
  "long_description" => "test"
  "image" => "1670482697.raza.jpeg"
  "created_at" => "2022-12-08T06:58:17.000000Z"
  "updated_at" => "2022-12-08T06:58:17.000000Z"
  "attributes" => array:4 [▼
    0 => array:8 [▶]
    1 => array:8 [▶]
    2 => array:8 [▶]
    3 => array:8 [▶]
  ]
]

在这一点上,我认为一切都很好
第一次

v2g6jxz6

v2g6jxz61#

如果我很好地理解了代码的用途,您希望在视图中访问产品及其属性
我试着让你的代码更清晰易懂
(我希望我能正确理解你的问题,这样我的回答对我们有用)

public function add_product_attributes($id)
{
    $product  =  Product::where('id' , $id)->with('attributes')->first();
    $attributes = $product->attributes;

    return view('admin.add_product_attributes', compact('product', 'attributes' ));
}

@foreach ($attributes as $attribute)
    <tr>
        <th scope="row">{{attribute->id}}</th>
        // ...
  </tr>
@endforeach
ldioqlga

ldioqlga2#

你要把属性转换成一个数组,但是你只取一条记录,所以你不需要在foreach循环中 Package 它,你可以简单地做到这一点。

<tr>
    <th scope="row">{{$attributes_data['id']}}</th>
    <td>{{$attributes_data['category_id']}}</td>
    <td>{{$attributes_data['product_id']}}</td>
    <td>....</td>
  </tr>

相关问题