Rumah  >  Soal Jawab  >  teks badan

Laravel HasManyThrough atau BelongsToMany tidak berfungsi dalam kes saya. Adakah ia masalah struktur pangkalan data?

<p>Saya ada 3 jadual: </p> <pre class="brush:php;toolbar:false;">jadual produk -ID - tajuk - dsb.</pre> <pre class="brush:php;toolbar:false;">meja pembelian -ID - kod - dsb.</pre> <pre class="brush:php;toolbar:false;">purchase_products table -ID - id_pembelian - product_id -qty - dsb.</pre> <p>Matlamat saya ialah untuk mendapatkan semula pembelian satu produk. Hubungan berikut tidak berfungsi untuk saya. Mencuba pendekatan berbeza menggunakan <code>belongsToMany</code> </p> <pre class="brush:php;toolbar:false;">$this->hasManyThrough( Pembelian::kelas, BeliProduk::kelas, 'id_beli', 'product_id', 'ID', 'ID' );</pra> <p>Dengan cara yang mudah saya boleh mendapatkan semua produk yang dibeli mengikut product_id dan kemudian mendapatkan semula item yang dibeli tetapi saya memerlukan perhubungan untuk menjadikannya berfungsi dalam Laravel nova kerana saya ingin memaparkan item yang dibeli pada sumber . </p>
P粉505450505P粉505450505383 hari yang lalu404

membalas semua(1)saya akan balas

  • P粉970736384

    P粉9707363842023-09-06 00:59:30

    Model produk

    class Product {
        public function purchases()
        {
             return $this->belongsToMany(Purchase::class, 'purchase_products', 'product_id', 'purchase_id');
        }
    }

    Mod Pembelian

    class Purchase {
        public function products()
        {
             return $this->belongsToMany(Product::class, 'purchase_products', 'purchase_id', 'product_id');
        }
    }

    balas
    0
  • Batalbalas