簡體   English   中英

SQL 查詢到 laravel 查詢生成器 - 轉換

[英]SQL query to laravel query builder - convert

如何將此查詢轉換為 Laravel 查詢構建。

SELECT stocks.* FROM stocks, stocksUnits WHERE stocks.name LIKE '%eg%' OR (stocksUnits.code = stocks.unit and stocksUnits.comment LIKE '%eg%') 

例子:

$datas =  Stocks::where('code','LIKE',"%{$search}%")

請檢查一下。

   $stocks = DB::table(DB::raw('stocks as stock', 'stockUnits as stockUnit'))
     ->select('stock.*')
     ->where('stock.name','LIKE',"%eg%")
     ->orWhere(function($query)
     {
        $query->where('stockUnits.code','=','stock.unit')
        ->where('stockUnits.comment','like','%eg%');
     }
    )

謝謝。

你可以試試

 DB::table("stocks, stocksunits")
->select("stocks.*")
->where("stocks.name", "like", %eg%)
->where(DB::raw("(stocksunits.code = stocks.unit and stocksunits.comment like '%eg%')"))
->get();

要么

DB::table('stocks')
->crossJoin('stocksUnits'
->select('stocks.*')
->where('stocks.name','like','%eg%')
->orWhere(function ($query) {
    $query->where('stocksUnits.code','=',DB::raw('stocks.unit'))
        ->where('stocksUnits.comment','like','%eg%');
})
->get();

暫無
暫無

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

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