繁体   English   中英

Laravel 4,雄辩的分页方法

[英]Laravel 4, Eloquents pagination method

你好! 尝试在雄辩的模型上使用分页方法时出现问题。 问题在于,在我的视图文件中调用{{ $model->links() }}将使我Call to undefined method Illuminate\\Database\\Query\\Builder::links() ,但由于它可以在另一个视图文件上完美运行。

Controller.php

$data = Routine::whereHas('measurements', function($q)
                {
                    $fra = str_replace("/","-", Input::get('fraDato'));
                    $fra = date('Y-m-d', strtotime($fra));
                    $til = str_replace("/","-", Input::get('tilDato'));
                    $til = date('Y-m-d', strtotime($til));

                    $q->whereBetween('date', array($fra, $til));
                })->with('emps')->orderBy('date', 'time', 'title')->paginate(5);

                return View::make('sok')
                ->with('title', 'Søk')
                ->with('date', $date)
                ->with('data', $data);

sok.blade.php

@if(isset($data))
        <table>
            <tr>
                <td>ID</td>
                <td>Tittel</td>
                <td>Verdi</td>
                <td>Ansatt ID</td>
                <td>Dato</td>
                <td>Tid</td>
                <td>Basseng</td>
            </tr>
            @foreach($data as $data)
                <tr>
                    <td>{{ $data->id }}</td>
                    <td>{{ $data->measurements[0]->title }}</td>
                    <td>{{ $data->value }}</td>
                    <td>{{ $data->emps->user_name }}</td>
                    <td>{{ date('d/m/Y', strtotime($data->date)) }}</td>
                    <td>{{ $data->time }}</td>
                    @foreach($data->measurements as $measurement)
                        <td>{{ $measurement->pivot->pool_id }}</td>
                    @endforeach
                    <td>{{ HTML::linkRoute('edit_data', 'Rediger', $data->id) }}</td>
                    <td>{{ HTML::linkRoute('delete_confirm', 'Slett', $data->id) }}
                    </td>
                </tr>
            @endforeach
                   {{ $data->links() }}

谢谢!

您在foreach中覆盖$ data:

 @foreach($data as $data)

更改为例如

 @foreach($data as $dataItem)

而且我建议使用有意义的变量名,这样您就不会遇到这样的问题。 $ data非常通用,您可以用它来命名所有内容。 使用$ routines代替。

这是什么?

->with('title', '$sok')

多数民众赞成在空。

Controller.php

$data = Routine::whereHas('measurements', function($q)
                {
                    $fra = str_replace("/","-", Input::get('fraDato'));
                    $fra = date('Y-m-d', strtotime($fra));
                    $til = str_replace("/","-", Input::get('tilDato'));
                    $til = date('Y-m-d', strtotime($til));

                    $q->whereBetween('date', array($fra, $til));
                })->with('emps')->orderBy('date', 'time', 'title')->paginate(5);

                return View::make('sok')
                ->with('data', $data);

sok.blade.php

@if(isset($data))
        <table>
            <tr>
                <td>ID</td>
                <td>Tittel</td>
                <td>Verdi</td>
                <td>Ansatt ID</td>
                <td>Dato</td>
                <td>Tid</td>
                <td>Basseng</td>
            </tr>
            @foreach($data as $items)
                <tr>
                    <td>{{ $items->id }}</td>
                    <td>{{ $items->measurements[0]->title }}</td>
                    <td>{{ $items->value }}</td>
                    <td>{{ $items->emps->user_name }}</td>
                    <td>{{ date('d/m/Y', strtotime($data->date)) }}</td>
                    <td>{{ $items->time }}</td>
                    @foreach($items->measurements as $measurementItems)
                        <td>{{ $measurementItems->pivot->pool_id }}</td>
                    @endforeach
                    <td>{{ HTML::linkRoute('edit_data', 'Rediger', $data->id) }}</td>
                    <td>{{ HTML::linkRoute('delete_confirm', 'Slett', $items->id) }}
                    </td>
                </tr>
            @endforeach
                   {{ $items->links() }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM