1

如何在 Laravel 查询中使用 CONCAT 函数?

$checkLogin = User::where(['Username' => $_POST['id'], 'Password' => $_POST['pass']])
    ->first();

我想连接用户名。

CONCAT(Username, '#', LPAD(NameID, 4, '0'))
4

2 回答 2

0

您可以DB::raw()使用CONCAT. 你可以Request改用。

use Illuminate\Http\Request;

public function YourFunction(Request $data)
{
    $checkLogin = User::query()
        ->where(DB::raw("CONCAT(Username, '#', LPAD(NameID, 4, '0'))"), $data->id)
        ->where('Password', $data->pass)
        ->first();
}

确保将其放在顶部:use DB;

于 2019-09-21T13:19:55.057 回答
0

您正在寻找whereRaw($condition, $bindings),它可以让您使用任何您想要的 SQL:

$checkLogin = User::query()
    ->whereRaw("CONCAT(Username, '#', LPAD(NameID, 4, '0')) = ?", [$_POST['id']])
    ->where('Password', $_POST['pass'])
    ->first();
于 2019-09-21T18:35:11.653 回答