2017-09-14 285 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);