簡體   English   中英

如何在使用 eloquent / 等與 laravel 的關系中編寫 function?

[英]how to write function in relationship using eloquent / etc with laravel?

$data = Program::with('peserta', function ($query) {
                return $query->peserta()->whereBetween('tanggal', array($request->from, $request->until));
            })->get();

此代碼返回錯誤:

mb_strpos() 期望參數 1 為字符串,object given”,異常:“ErrorException”。

幫助。 謝謝

with()內部的閉包 function 必須是數組並刪除該return laravel 文檔中的示例

$data = Program::with(['peserta' => function ($query) use($request) {
                $query->whereBetween('tanggal', array($request->from, $request->until));
            }])->get();

您應該使用 whereHas 設置關系條件:

$data = Program::whereHas('peserta', function ($query)use($request) {
     return $query->whereBetween('tanggal', array($request->from, $request->until));
 })->get()

如果您需要有關系數據,則應在查詢中添加“with”:

$data = Program::whereHas('peserta', function ($query)use($request) {
     return $query->whereBetween('tanggal', array($request->from, $request->until))->with('peserta');
  })->get()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM