使用Laravel从集合中查找最大ID

时间:2015-10-21 12:29:35

标签: php laravel-5.1

我正在尝试从模型中找到最大ID。

我的模型是MainsliderStatu。

这是我的代码

$slider = new MainsliderStatu();
$slider = $slider->find($slider->select('MAX(id) AS id'));
$slider->statu = Input::get('statu');
$slider->save();

但是我收到了这个错误:

Controller method not found.

我无法找到选择方法。

我们怎么做?

2 个答案:

答案 0 :(得分:1)

这是解决方案:

    if(empty($slider->count())){



        $slider->statu = Input::get('statu');

        $slider->save();

        flash()->success('Slider Durumu Değiştirildi.');

        return Redirect::to('admin/mainslider');

    }else{

        $maxId = DB::table('mainslider_statu')->max('id');

        $slide = MainsliderStatu::find($maxId);

        $slide->statu = Input::get('statu');

        $slide->save();

        flash()->success('Slider Durumu Değiştirildi.');

        return Redirect::to('admin/mainslider');
        }

DB::table('mainslider_statu')->max('id')解决了我的问题。

答案 1 :(得分:0)

保存后,$ slider-> id应为插入的最后一个ID。

$slider = new MainsliderStatu();
$slider->statu = Input::get('statu');
$slider->save();

$slider->id;

如果您想在不创建新模式的情况下取回最新的id

DB::table('mainslider_statu')->max('id');

检查是否有任何行:

if(empty(MainsliderStatu::all()->toArray()))
{
    $slider = new MainsliderStatu();
    $slider->statu = Input::get('statu');
    $slider->save();

    $id = $slider->id;
} 
else 
{
    $id = DB::table('mainslider_statu')->max('id');
}