お世話になります。
今回、Eloquentを利用して、データベースからselectしてきた値をviewに表示させるプログラムを書きたいと思っています。
入力されたデータをスコープの定義にあてはめたいのですが、
スコープパラメータの部分でエラーが起きてしまいます。
エラー内容:Type error: Too few arguments to function
こういった場合、パラメータはどういった記載にすれば良いのでしょうか。
こちらがコントローラーです
PHP
1namespace App\Http\Controllers; 2 3use App\DBconnect; 4use App\Http\Controllers\FormController; 5use Illuminate\Support\Facades\Request; 6 7 8class FormController extends Controller 9{ 10 11 //検索 12 public function delete_search(Request $request) 13 { 14 $this->validate($request,[ 15 'number' => 'required' , 16 'address' => 'required', 17 ]); 18 $data = $request->all(); 19 20 $result = DBconnect::Search()->get(); 21 22 return view('sqlconnect/delete_check', compact('result')); 23 } 24
こちらがmodel
php
1namespace App; 2 3use Illuminate\Database\Eloquent\Scope; 4use Illuminate\Database\Eloquent\Model; 5use App\DBconnect; 6use App\User; 7 8class DBconnect extends Model 9{ 10 protected $table = 'addresses'; 11 public $timestamps = false; 12 13 public function scopeSearch($query, $data) 14 { 15 return $query->select('number', 'address') 16 ->where('number','like',$data['number'].'%') 17 ->where('address', 'like','%'.$data['address'].'%'); 18 } 19} 20
回答2件
あなたの回答
tips
プレビュー