Как уменьшить товарный запас при использовании товара - PullRequest
0 голосов
/ 30 января 2019

Это мой 1-й стол

public function up()
    {
        Schema::create('perbaikans', function (Blueprint $table) {
            $table->increments('id_perbaikan');
            $table->string('nomor_dokumen_perbaikan', 25)->unique();
            $table->integer('id_teknisi')->unsigned();
            $table->integer('id_kulkas')->unsigned();
            $table->integer('id_tipe_pekerjaan')->unsigned();
            $table->string('temuan_masalah', 100);
            $table->date('tanggal_perbaikan');
            $table->timestamps();
            $table->foreign('id_teknisi')->references('id_teknisi')->on('teknisis');
            $table->foreign('id_kulkas')->references('id_kulkas')->on('kulkas');
            $table->foreign('id_tipe_pekerjaan')->references('id_tipe_pekerjaan')->on('tipe_pekerjaans');
        });
    }

Это моя вторая таблица

public function up()
    {
        Schema::create('sukucadangs', function (Blueprint $table) {
            $table->increments('id_sukucadang');
            $table->string('nomor_sukucadang', 5)->unique();
            $table->string('nama_sukucadang', 35);
            $table->integer('stok');
            $table->integer('id_kategori_sukucadang')->unsigned();
            $table->timestamps();
            $table->foreign('id_kategori_sukucadang')->references('id_kategori_sukucadang')->on('kategori_sukucadangs');
        });
    }

А это моя промежуточная таблица

public function up()
    {
        Schema::create('pemakaian_sukucadangs', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('id_perbaikan')->unsigned();
            $table->integer('id_sukucadang')->unsigned();
            $table->integer('qty');
            $table->foreign('id_perbaikan')->references('id_perbaikan')->on('perbaikans');
            $table->foreign('id_sukucadang')->references('id_sukucadang')->on('sukucadangs');
        });
    }

Мой контроллер

class PerbaikanController extends Controller
{
    public function create()
    {
        $teknisis = Teknisi::all();
        $kulkas = Kulkas::all();
        $tipepekerjaans = TipePekerjaan::all();
        $sukucadangs = Sukucadang::all();
        return view('perbaikan.tambah', compact('teknisis', 'kulkas', 'tipepekerjaans', 'sukucadangs'));
    }


    public function store(Request $request)
    {
      
        $perbaikan = new Perbaikan;

        $perbaikan->nomor_dokumen_perbaikan = $request->nomor_dokumen_perbaikan;
        $perbaikan->id_teknisi = $request->id_teknisi;
        $perbaikan->id_kulkas = $request->id_kulkas;
        $perbaikan->id_tipe_pekerjaan = $request->id_tipe_pekerjaan;
        $perbaikan->temuan_masalah = $request->temuan_masalah;
        $perbaikan->tanggal_perbaikan = $request->tanggal_perbaikan;
        $perbaikan->qty = $request->qty;

        $perbaikan->save();

        $sukucadang = Sukucadang::findOrFail($request->id_sukucadang);
        $sukucadang->stok -= $request->qty;
        $sukucadang->update();

        $perbaikan->sukucadang()->sync($request->sukucadang, false);

    }
}

Как уменьшить сток в таблицах суккудаганса, если используется предмет.Например, у меня есть item1 с запасом 10 и item2 20, когда я использую item1 и item2 с каждым количеством 2 и 3, тогда запас товаров в таблице sukucadangs автоматически уменьшится Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...