仅从列中选择项laravel 9

brccelvz  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(161)

我尝试从posts表中检索video列,但未显示任何项。
我使用以下语法

public function shorts()
{

  
    $videos = Post::where('video', '>', 0)
    ->inRandomOrder()
    ->paginate(3);

    return view('shorts', compact('videos'));
}

我可以使用下面的语法恢复。但是,它返回所有的帖子,我只想在视频列不是空的帖子。

public function shorts()
{

  
    $videos = Post::inRandomOrder()
        ->simplePaginate(1);

    return view('shorts', compact('videos'));
}

有人知道如何解决这个问题吗?提前感谢。欢迎任何帮助。
查看文件。

@foreach ($videos->where('video', '!=', '') as $video)

        <div class="video">

            <a href="{{route('post.show', $video)}}">
                <h2>{{ $video->title }}</h2>
            </a>

                <video id="video" width="100%" height="450px"> <source src="{{url('uploads/', $video->video)}} " alt="VIDEO" ></video>

                <br/><br/>
                <div>
                    <br>

                    <div class="profileImageHome">

                        <img src="{{$video->user->getAvatar()}}" alt="avatar" class="w-14 h-14 rounded-xl">
                        <br>
                        <a href="{{url('http://127.0.0.1:8000/u/' . $video->user->username)}}">  u/{{$video->user->username}}</a>

                    </div>

                </div>
                <br>
            <hr/>
            @endforeach

            {{ $videos->links() }}

屏幕截图

91zkwejq

91zkwejq1#

https://laravel.com/docs/9.x/queries
试试看

Post::whereNotNull('video')
    ->inRandomOrder()
    ->paginate(3);

我想问题是你检查〉0(超过0,但0不是NULL),因为它是一个字符串,你不应该用整数where子句检查。

相关问题