我最近一直在学习laravel 5.2并对laravel如何工作有基本的了解,我已经做了一个基本的搜索功能,并希望从我的数据库中搜索记录
这是我的ProductenController中的搜索功能
public function search(request $request)
{
//searching for products by name
Producten::where('naam', 'LIKE', '%$request->naam%');
return redirect(route('producten.index')->with($request));
}
在producten.index.blade 我有我的搜索
{!! Form::open(['route' => 'producten.index', 'method' => 'GET', 'class' => 'search']) !!}
{!! Form::text('naam')!!}
{!! Form::close() !!}
这也是我的Routs
Route::resource('producten', 'ProductenController', ['only' => ['index', 'store', 'delete', 'edit', 'update', 'create', 'search']]);
这是我想要搜索记录的模型。
class Producten extends Model
{
// model producten holdes the attribues naam, inkoopprijs, verkoopprijs,
protected $fillable = ['Id', 'naam',' inkoopprijs', 'verkoopprijs', 'fabrieken_Id'];
protected $table = 'Producten';
public $timestamps = false;
}
如果有任何想法我忘了包括你能够帮助我让我知道
答案 0 :(得分:0)
你的问题可能在于这一行:
Producten::where('naam', 'LIKE', '%$request->naam%');
如果要使用内联变量,请使用双引号“ 为了便于阅读,我还在其周围添加了大括号。
Producten::where('naam', 'LIKE', "%{$request->naam}%");
最后还要确保您在使用语句后使用 - > get()或 - > paginate()
实际获取内容 Producten::where('naam', 'LIKE', "%{$request->naam}%")->get();
答案 1 :(得分:0)
你的问题可能在于这一行:
Producten::where('naam', 'LIKE', '%$request->naam%');
你应该
Producten::where('naam', 'LIKE', '%' . $request->naam . '%');