Laravel 上一个和下一个记录

2022-01-02 00:00:00 routing php laravel laravel-4

我正在尝试创建一个页面,我可以在其中查看数据库中的所有人并对其进行编辑.我制作了一个表格,在其中填写某些字段的数据库中的数据.

我想通过下一个和上一个按钮浏览它们.

为了生成下一步,我必须使用比当前更大的 ID 来加载下一个配置文件.

为了生成上一步,我必须使用小于当前 ID 的 ID 来加载先前的配置文件.

我的路线:

Route::get('users/{id}','UserController@show');

控制器:

public function show($id){$input = User::find($id);//如果用户单击下一步,则应执行此操作.$input = User::where('id', '>', $id)->firstOrFail();echo '

';dd($输入);echo '</pre>';return View::make('hello')->with('input', $input);}

查看:按钮:

<a href="{{ URL::to( 'users/' . $input->id ) }}">Next</a>

获取当前 ID 并增加它的最佳方法是什么?

解决方案

以下是从@ridecar2 链接派生的更新的控制器和视图文件,

控制器:

public function show($id){//获取当前用户$user = User::find($id);//获取之前的用户ID$previous = User::where('id', '<', $user->id)->max('id');//获取下一个用户ID$next = User::where('id', '>', $user->id)->min('id');return View::make('users.show')->with('previous', $previous)->with('next', $next);}

查看:

<a href="{{ URL::to( 'users/' . $previous ) }}">Previous</a><a href="{{ URL::to( 'users/' . $next ) }}">Next</a>

I am trying to create a page where I can see all the people in my database and create edits on them. I made a form where I fill in the data from the database of certain fields.

I would like to navigate trough them by a Next and Previous button.

For generating the next step I have to take the ID larger than the current one to load the next profile.

For generating the previous step I have to take the ID smaller than the current one to load the previous profile.

My route:

Route::get('users/{id}','UserController@show');

Controller:

public function show($id)
    {

        $input = User::find($id);

        // If a user clicks next this one should be executed.
        $input = User::where('id', '>', $id)->firstOrFail();



        echo '<pre>';

        dd($input);

        echo '</pre>';

        return View::make('hello')->with('input', $input);
    }

View: The buttons:

<a href="{{ URL::to( 'users/' . $input->id ) }}">Next</a>

What is the best approach to get the current ID and increment it?

解决方案

Below are your updated controller and view files derived from @ridecar2 link,

Controller:

public function show($id)
{

    // get the current user
    $user = User::find($id);

    // get previous user id
    $previous = User::where('id', '<', $user->id)->max('id');

    // get next user id
    $next = User::where('id', '>', $user->id)->min('id');

    return View::make('users.show')->with('previous', $previous)->with('next', $next);
}

View:

<a href="{{ URL::to( 'users/' . $previous ) }}">Previous</a>
<a href="{{ URL::to( 'users/' . $next ) }}">Next</a>

相关文章