亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

laravel中如何獲取另一個表中的數據where子句

laravel中如何獲取另一個表中的數據where子句

PHP
子衿沉夜 2023-08-26 19:10:01
我有 2 個有關系的表。我想添加 where 子句,但該 where 子句位于另一個表中。我的桌子是這樣的:pencairan+----+------------+------------+------------+| id |  induk_id  |     qty    |    harga+----+------------+------------+------------+|  1 |     1      |     10     |    1000+----+------------+------------+------------+|  2 |     1      |     20     |    3000+----+------------+------------+------------+|  3 |     3      |     10     |    1500+----+------------+------------+------------+induk_pencairan+----+------------+------------+------------+| id |  rek_id    |     name   |    address+----+------------+------------+------------+|  1 |     1      |    somedata|    somedata+----+------------+------------+------------+|  2 |     1      |    somedata|    somedata+----+------------+------------+------------+|  3 |     3      |    somedata|    somedata+----+------------+------------+------------+|  4 |     3      |    somedata|    somedata+----+------------+------------+------------+所以我想這樣做:$pencairan = IndukPencairan::with('turunan_belanja')->findOrFail($id);if (!$pencairan)abort(404);$id = $pencairan->id;$rek = $pencairan->rek_id;$digunakan = Pencairan::with('induk_pencairan')->where('induk_pencairan.rek_id' ,$rek)->whereNotIn('induk_id ', [$id])->sum(DB::raw('harga*qty'));但我收到錯誤SQLSTATE[42S22]: Column not found: 1054 Unknown column 'induk_pencairan.rek_id' in 'where clause'(SQL: select sum(harga*qty) as aggregate from `pencairan` where `induk_pencairan`.`rek_id` = 2 and `induk_id` not in (2))有人可以幫忙嗎?#更新我在兩張桌子上的模型關于除霜型號 public function induk_pencairan(){    return $this->belongsTo(\App\Models\IndukPencairan::class ,'induk_id');    }
查看完整描述

2 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

你只需要加入他們......


? $digunakan = Pencairan::with('induk_pencairan')->join('pencairan','pencairan.induk_id','=','induk_pencairan.id')

? ? ? ? ? ? ->where('induk_pencairan.rek_id' ,$rek)

? ? ? ? ? ? ->whereNotIn('induk_id ', [$id])->sum(DB::raw('harga*qty'));

或者你可以使用whereHas

?$digunakan = Pencairan::with('induk_pencairan')->whereHas('induk_pencairan',function ($query)use($rek)

? ? ? ? {

? ? ? ? ? ? $query->where('induk_pencairan.rek_id' ,$rek);

? ? ? ? })

? ? ? ? ? ? ->whereNotIn('induk_id ', [$id])->sum(DB::raw('harga*qty'));


查看完整回答
反對 回復 2023-08-26
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

我用這個解決了


 $digunakan = Pencairan::with('induk_pencairan')

    ->whereHas('induk_pencairan', function($query) use ($rek) {

      $query->where('rek_id', $rek);

    })->whereNotIn('induk_id', [$id])->sum(DB::raw('harga*qty'));


查看完整回答
反對 回復 2023-08-26
  • 2 回答
  • 0 關注
  • 196 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號