2014-09-20 17 views

Trả lời

23

Những gì bạn cần là một biểu hiện DB::raw:

DB::table('users') 
    ->where('username', '=', DB::raw('lastname')) 
    ->get(); 

Điều duy nhất DB::raw thực sự, không có gì để nói với người phiên dịch truy vấn không để điều trị 'lastname' giống như bất kỳ chuỗi giá trị khác, nhưng chỉ suy nó trong SQL như nó được.

http://laravel.com/docs/queries#raw-expressions

1

Trong Laravel 5, có nowwhereColumn cho điều này, cho mã sạch hơn:

Users::whereColumn('username', 'lastname')->get(); 
+0

này chỉ có sẵn từ laravel 5.2, không phải trong 5.1LTS ví dụ. không chắc chắn tại sao @ceejayoz từ chối chỉnh sửa của tôi. câu trả lời là không chính xác, vì chức năng này không có sẵn "trong laravel 5". – rrrafalsz

+0

@rrrafalsz 'whereColumn' nằm trong tất cả các phiên bản hiện tại của Laravel. Hỗ trợ của 5.1 đã hết vào tháng 6 năm 2017. – ceejayoz

Các vấn đề liên quan