如何将元素存储在 Laravel 数组的变量中?
How to store an element in a variable from array in Laravel?
我想将 "area" 存储在 $school_info array
的 $area
变量中。使用 $area
我希望将更多 3 行存储到 3 个不同的数组中,例如:$school_info1
、$school_info2
、$school_info3
.
public function schooldetailviewid($id)
{
$school_id = $id;
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->get();
$area = $school_info->area;
// recomendation start
$school_info1 = DB::table('school_infos')->where('area', '=', $area)->get();
$school_info2 = DB::table('school_infos')->where('area', '=', $area)->get();
$school_info3 = DB::table('school_infos')->where('area', '=', $area)->get();
// recomendation end
return view('schooldetail', compact('school_info', 'school_info1', 'school_info2', 'school_info3'));
}
问题:元素存储不工作,另外 3 行也没有被提取!我正在尝试做一个简单的推荐系统。
错误
Exception Property [area] does not exist on this collection instance.
.get()
returns一个对象数组只获取一个对象使用.first()
:
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->first();
$area = $school_info->area;
否则,您需要访问数组的第一个元素:
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->get();
$area = $school_info[0]->area;
我想将 "area" 存储在 $school_info array
的 $area
变量中。使用 $area
我希望将更多 3 行存储到 3 个不同的数组中,例如:$school_info1
、$school_info2
、$school_info3
.
public function schooldetailviewid($id)
{
$school_id = $id;
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->get();
$area = $school_info->area;
// recomendation start
$school_info1 = DB::table('school_infos')->where('area', '=', $area)->get();
$school_info2 = DB::table('school_infos')->where('area', '=', $area)->get();
$school_info3 = DB::table('school_infos')->where('area', '=', $area)->get();
// recomendation end
return view('schooldetail', compact('school_info', 'school_info1', 'school_info2', 'school_info3'));
}
问题:元素存储不工作,另外 3 行也没有被提取!我正在尝试做一个简单的推荐系统。
错误
Exception Property [area] does not exist on this collection instance.
.get()
returns一个对象数组只获取一个对象使用.first()
:
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->first();
$area = $school_info->area;
否则,您需要访问数组的第一个元素:
$school_info = DB::table('school_infos')->where('school_id', '=', $school_id)->get();
$area = $school_info[0]->area;