【发布时间】:2022-01-22 12:20:27
【问题描述】:
编辑功能:
public function editCheck($id, LanguagesRequest $request)
{
try{
$language = language::select()->find($id);
$language::update($request->except('_token'));
return redirect()->route('admin.languages')->with(['sucess' => 'edit done by sucsses']);
} catch(Exception $ex) {
return redirect()->route('admin.addlanguages');
}
}
和模型或选择功能
public function scopeselect()
{
return DB::table('languages')->select('id', 'name', 'abbr', 'direction', 'locale', 'active')->get();
}
【问题讨论】:
-
理想情况下,范围应该构建一个不返回结果的查询...为什么要直接在模型内部使用查询生成器?并且常规集合没有
find方法,只有 Eloquent Collections 有,但是您在那里使用查询生成器,因此它不会返回 Eloquent 集合 -
还有一个查询生成器的
select方法已经被阻止,您现在可以在使用此模型构建查询时使用它,所以不是最好的主意....这不是您编写的范围只是一个应该是真正的静态方法的方法