Im trying to query products table that displays the following schema in database ->
Table 1 -> products:
Table:
With a relationship with table products_details in model product.php ->
public function productdetails()
    {
        return $this->hasMany('App\Models\ProductDetails', 'productId', 'id');
    }
Table 2 -> products_details table displays many value pair (name / value ) for each product:
Table:
With a relationship with table products in model productdetails.php ->
public function product()
{
    return $this->hasOne('App\Models\Product', 'productSku', 'productId');
}
Using Tinker to query model I run:
App\Models\Product::join('products_details', 'products.productSku', '=', 'products_details.productId')->take(1)->get();
gives result:
Illuminate\Database\Eloquent\Collection {#1787
     all: [
       App\Models\Product {#1779
         id: 1,
         productName: "Samsung - Galaxy Core Prime 4G",
         productSku: "3953367",
         more info...
         created_at: "2017-04-08 18:28:46",
         updated_at: "2017-04-08 18:28:46",
         deleted_at: null,
         productId: 3953367,
         name: "Operating System",
         value: "Android 4.4 KitKat",
       },
     ],
   }
My question is, how can I query results in order to receive all name/value associated to productId, taking into consideration right now I only receive the first pair of values contained at product_details table, but not all the name/values associated with that productId.
     productId: 3953367,
     name: "Operating System",
     value: "Android 4.4 KitKat",
thank you!
via Chebli Mohamed
 
Aucun commentaire:
Enregistrer un commentaire