具有结果但视图为空的数据库SQL Server

时间:2019-05-21 07:31:15

标签: php laravel laravel-5 eloquent

正在发生一些非常奇怪的事情。因此,我有一个名为Lactinfo_News的表,其中有1行。我还创建了一个名为LACTINFO_VW_LatestNews的视图,该视图具有“ SELECT * FROM Lactinfo_News”并返回相同的1行。

enter image description here

我正在使用Eloquent,在我的新闻管理器中,

public function GetLatestNews($rowsPerPage) {
        $list = DB::table('LACTINFO_VW_LatestNews')
            ->orderBy('RegistedDate', 'DESC')
            ->paginate($rowsPerPage);

        return $list;
    }

where $rowsPerPage = 30.

在我的控制器中,

// >> current page
$page = '1';
if (! empty ( $request->query ( 'page' ) )) {
$page = $request->query ( 'page' );
}

// >> search
$nM = new NewsManager();
$list = $nM->GetLatestNews($page, $this->nbOfRowsPage);

return view ('admin.news.index', [
                'results' => compact($list),
                'page' => $page,
                'startDate' => $startDate,
                'endDate'=>$endDate 
        ] );
    }

在我看来,

<table id="news-results" class="hover responsive" style="margin-top: 20px;">
    <thead>
        <tr>
            <th scope="column">Título</th>          
            <th scope="column">Descrição</th>
            <th scope="column">Data Início</th>
            <th scope="column">Ficheiro</th>
            <th scope="column">Registada em</th>
            <th scope="column">Criada por</th>
        </tr>
    </thead>

    <tbody>
        @if (count($results) > 0) 
            @foreach ($results as $r)
                <tr>
                    <td>{{ $r->title }}</td>
                    <td>{{ $r->description }}</td>
                    <td>{{ Carbon\Carbon::parse($r->startDate)->format('d/m/Y') }}</td> 
                    <td>{{ $r->fileURL }}</td>
                    <td>{{ $r->registedDate }}</td>     
                    <td>{{ $r->createdBy }}</td>            
                </tr>
            @endforeach

        @else
            <tr><td colspan="11">Não existem notícias criadas</td></tr>
        @endif
    </tbody>
</table>

如果我转储了$ results变量,则为空。.

发生了什么事?这真的很奇怪:S我不需要执行任何工匠命令,因为我已经向管理器添加了新功能,但是几天来我一直在解决这个问题...

2 个答案:

答案 0 :(得分:0)

您正在LengthAwarePaginator类型的对象上使用compact,这是一种奇怪的恕我直言。

为什么您不通过$list

答案 1 :(得分:0)

我的问题出在控制器和视图中,

所以我将控制器返回值更改为

return view ('admin.news.index', [
                'results' => $list,
                'page' => $page,
                'startDate' => $startDate,
                'endDate'=>$endDate
        ] );

在我看来,我并没有以错误的方式调用我的参数...

<tbody>
        @if (count($results) > 0) 
            @foreach ($results as $r)
                <tr>
                    <td>{{ $r->Title }}</td>
                    <td>{{ $r->Description }}</td>
                    <td>{{ Carbon\Carbon::parse($r->StartDate)->format('d/m/Y') }}</td> 
                    <td>{{ $r->fileURL }}</td>
                    <td>{{ Carbon\Carbon::parse($r->RegistedDate)->format('d/m/Y') }}</td>      
                    <td>{{ $r->refCredential }}</td>            
                </tr>
            @endforeach

        @else
            <tr><td colspan="11">Não existem notícias criadas</td></tr>
        @endif
    </tbody>