laravel - Laravel - 获取数据中关系问题中的搜索过滤器
问题描述
试图从表“mobiles”中获取数据,以及它在 Stock 中的相关条目。虽然我的搜索关键字是手机型号,请参阅下面的手机表
和相关的表“股票”也在下面
手机型号为:
class Mobile extends Model
{
public function company(){
return $this->hasMany(Company::class);
}
public function stocks(){
return $this->hasMany(Stock::class);
}
}
库存型号为:
class Stock extends Model
{
public function company(){
return $this->belongsTo(Company::class, 'company_id');
}
public function mobiles(){
return $this->belongsTo(Mobile::class, 'model_id');
}
}
Stock的指数方法是:
public function index(Request $request)
{
$request->session()->put('search', $request
->has('search') ? $request->get('search') : ($request->session()
->has('search') ? $request->session()->get('search') : ''));
$request->session()->put('field', $request
->has('field') ? $request->get('field') : ($request->session()
->has('field') ? $request->session()->get('field') : 'model_id'));
$request->session()->put('sort', $request
->has('sort') ? $request->get('sort') : ($request->session()
->has('sort') ? $request->session()->get('sort') : 'asc'));
$stocks = new Stock();
$stocks = $stocks->where('model_id', 'like', '%' . $request->session()->get('search') . '%')
->orderBy($request->session()->get('field'), $request->session()->get('sort'))
->paginate(5);
if ($request->ajax()) {
return view('pages.stock.index_stock', compact('stocks'));
} else {
return view('pages.stock.ajax', compact('stocks'));
}
}
问题是我可以使用模型 ID 进行搜索,因为搜索过滤器设置在“stock”表的“model_id”列上。我如何通过编写表“mobiles”中存在的手机型号名称进行搜索,在搜索型号后,它应该显示与搜索到的手机型号相关的完整信息。
提前致谢。
解决方案
推荐阅读
- c# - 强制 SUM 方法在适用于 EF Core 时返回 NULL
- python - 字典之类的字符串到熊猫数据框的列表
- excel - 查找匹配单元格的列号
- c# - 按下键时 Unity 重置 Oculus 位置
- javascript - 如果 Id = id 如何隐藏表格行
- powershell - 我正在尝试制作一个将网站上的所有图像保存到文件夹的脚本
- r - 如何从 ggplot2 R 中的自举模型绘制具有估计均值和置信区间的原始数据点?
- vbscript - 如何获取批处理文件以打开位于 Program Files (x86) 文件夹中的 vbs 或 hta?
- python - Pandas df.drop() 方法不会执行但有效?
- python - 使用 Python 从 JSON 中删除值为 NaN 的对象?