我想在 laravel 中寫一個 Where not in 查詢。我在 sql 中寫它作業正常請幫我將查詢轉換為 laravel。
這是查詢...
SELECT *
FROM `apiaccessauth`
WHERE `site_name` NOT IN (
SELECT `site_name`
FROM `API_site_access_log`
WHERE `created_at` LIKE ' 21-10-15%'
);
uj5u.com熱心網友回復:
如果你想使用 Eloquent,如下所示
雄辯的模型
<?php
namespace App\Modules\Vehicle\Models;
use Illuminate\Database\Eloquent\Model;
class ApiAccessAuth extends Model
{
protected $table = 'apiaccessauth';
}
您的查詢
ApiAccessAuth::whereNotIn('site_name', function ($query) {
$query->from('API_site_access_log')
->select('site_name')
->whereDate('created_at', '2021-10-15');
})->get();
如果您想使用查詢生成器,它將如下所示
use Illuminate\Support\Facades\DB;
DB::table('apiaccessauth')
->whereNotIn('site_name', function ($query) {
$query->from('API_site_access_log')
->select('site_name')
->whereDate('created_at', '2021-10-15');
})->get();
uj5u.com熱心網友回復:
也許您想將查詢重構為
選擇一個。*
從 `apiaccessauth` 一個,
`API_site_access_log` b
在哪里
a.`site_name` = b.`site_name` AND
b.`site_name` NOT LIKE ' 21-10-15%'
所以使用查詢生成器
$result = DB::table('apiaccessauth')
->join('API_site_access_log', 'API_site_access_log.site_name', '=', 'apiaccessauth.site_name')
->where('API_site_access_log.site_name', '不喜歡', " 21-10-15%")
->獲取();
也許你需要一個左連接或外連接,這取決于你想要什么
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/440221.html
上一篇:查詢適用于MySQL作業臺,但不適用于Laravel
下一篇:留在登錄laravel9
