2017-09-14 242 views
0

創建自己的範圍內,我有一些unterstanding問題在Laravel 5.4如何Laravel 5.4

範圍我儘量讓示波器用一個簡單的在那裏同樣的語法。

class Addresses extends Model 
{ 
    protected $table = "Addresses"; 
    protected $primaryKey = 'adress'; 
    public $timestamps = false; 

    public function scopeSearchAdress($query, $searchTerm) 
    { 
     return $query->where('adress', 'LIKE', '%'.$searchTerm.'%s'); 
    } 

    public function company() 
    { 
     return $this->hasOne(Company::class, 'adress'); 
    } 

    public function contactPerson() 
    { 
     return $this->hasMany(ContactPerson::class, 'adress'); 
    } 

} 

當我啓動PHP工匠補鍋匠,寫這個命令: App\Address::searchAdress('1330')->get()我得到這個:

Illuminate\Database\Eloquent\Collection {#695 
    all: [], 
    } 

,我不明白爲什麼我得到一個空數組。如果我做一個查詢在MSSQL我這個ADRESS獲得地址= 1330

回答

1

問題是我想用字符串和int值

您傳遞一個字符串,工作,這種

App\Address::searchAdress(1330)->get(); 
當我通過編輯一個int
+0

我得到同樣的結果。但我不明白爲什麼LIKE運算符和通配符不起作用。 –

+0

ANS檢查@GregOstry – Exprator

+0

這是工作

變化範圍查詢

return $query->where('adress', '=', $searchTerm);