私はPHPとLaravelの新機能です。私は頭や尻尾を作ることができないというエロを得ています。Larvavelモデルとパラメータが見つかりませんでした
public function filtered($col, $sort = null, $search = null, $ordering='desc')
{
$field = $this->table . '.' . $col ;
Log::info('BaseModel::filtered->' . $field) ;
$data = $this;
// check if search variable not empty
if ($search != null)
{
$data = $data->where(function ($query) use ($search){
return $query->where($field,'like','%'.$search.'%') ;
});
// check if sort variable not empty
if ($sort != null)
{
$sorts = explode('|', $sort);
$data = $data->orderBy($sorts[0],$sorts[1]);
}
}
...
上記のコードは、エラー:Undefined variable: field
を示しています。私も$this->field
でフィールド変数を呼び出して試してみた
[2017-06-21 06:32:25] local.INFO: BaseModel::filtered->organisation.name
、また失敗:ログ出力から、私はこれを得ます。 $col
パラメータを直接参照すると、同じエラーが発生します。しかし、$search
と$sort
の両方が問題ありません。
は、$ field = ''を宣言しています。残りの部分をしてください – Exprator
私はそれが範囲のものだと推測しています:そのフィールドは 'where {}'ラムダの中では見えません。 – Anthony