Laravel 4,雄辩的分页方法

Laravel 4,雄辩的分页方法,laravel,pagination,eloquent,Laravel,Pagination,Eloquent,你好!!在一个雄辩的模型上尝试使用paginate方法时,我遇到了一个问题。问题是,在我的视图文件中调用{{{$model->links()}将引发对未定义方法illumb\Database\Query\Builder::links()的调用,但由于它在另一个视图文件上工作得很好,所以我并没有真正得到任何结果 Controller.php $data = Routine::whereHas('measurements', function($q) {

你好!!在一个雄辩的模型上尝试使用paginate方法时,我遇到了一个问题。问题是,在我的视图文件中调用
{{{$model->links()}
将引发对未定义方法illumb\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() }}
@if(isset($data))
身份证件
蒂特尔
威尔第
安萨特ID
达托
工业贸易署
巴生
@foreach($data作为$data)
{{$data->id}
{{$data->measurements[0]->title}
{{$data->value}
{{$data->emps->user_name}
{{date('d/m/Y',strotime($data->date))}
{{$data->time}
@foreach($data->measurementas$measurement)
{{$measurement->pivot->pool_id}
@endforeach
{{HTML::linkRoute('edit_data','Rediger',$data->id)}
{{HTML::linkRoute('delete_confirm','Slett',$data->id)}
@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);
@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() }}
sok.blade.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);
@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() }}
@if(isset($data))
身份证件
蒂特尔
威尔第
安萨特ID
达托
工业贸易署
巴生
@foreach($数据作为$项)
{{$items->id}
{{$items->measurements[0]->title}
{{$items->value}
{{$items->emps->user_name}
{{date('d/m/Y',strotime($data->date))}
{{$items->time}
@foreach($items->measurementas$measurementims)
{{$measurementems->pivot->pool_id}
@endforeach
{{HTML::linkRoute('edit_data','Rediger',$data->id)}
{{HTML::linkRoute('delete_confirm','Slett',$items->id)}
@endforeach
{{$items->links()}

以及为什么要用('date',$date)
定义两个
->??