基于另一行laravel检索行

基于另一行laravel检索行,laravel,laravel-4,Laravel,Laravel 4,我正在研究一个基本系统,博客从其他数据库表检索图像,但它显示的是帖子而不是照片 这是我的控制器: $bloginfo=bloginfo::where('blog_name','=',$name)->first(); $blogposts=pageposts::where('p_id','=',$bloginfo->id)->orderBy('id','desc')->get(); foreach($blogposts as $posts){

我正在研究一个基本系统,博客从其他数据库表检索图像,但它显示的是帖子而不是照片 这是我的控制器:

$bloginfo=bloginfo::where('blog_name','=',$name)->first();
    $blogposts=pageposts::where('p_id','=',$bloginfo->id)->orderBy('id','desc')->get();
    foreach($blogposts as $posts){
        $photoscount=pagephotos::where('b_id','=',$posts->id)->count();
        $blogphotos=pagephotos::where('b_id','=',$posts->id)->get();

    }
    return View::make('myblog')
    ->with('bloginfo',$bloginfo)
    ->with('blogposts',$blogposts)
    ->with('blogphotos',$blogphotos)
    ->with('photoscount',$photoscount);
以下是我的观点:

@foreach($blogposts as $posts)
                    <div class="panel panel-default">    
                        <div class="panel-body">
                            @if($photoscount==0)
                                {{ null }}
                            @elseif($photoscount==1)
                           //a bunch of code here
                              @else

                               //a bunch of code here
                              @endif
                            <h4><a href="">{{ $posts->title }}</a></h4>
                            <p>{{ $posts->description }}</p>

                        </div>
                    </div>
                    @endforeach
@foreach($blogposts作为$posts)
@如果($photoscont==0)
{{null}}
@elseif($photoscont==1)
//这里有一堆代码
@否则
//这里有一堆代码
@恩迪夫
{{$posts->description}

@endforeach
我建议你调查一下人际关系,这也可能是你的答案

您可以在一个查询中加载所有数据

bloginfo::with('posts', 'posts.images')->where('blog_name','=',$name)->first();
这将加载包含所有相关信息的博客帖子,即帖子及其图像。请看这里的设置


由于您当前的问题在for循环中,您将覆盖您正在设置的变量n次,即,覆盖的帖子数量。所以你可能总是会有不同的结果

你的控制器里有照片吗?你用print\r检查过了吗?我只是在根据帖子检索phots的名字。这意味着当我在一篇文章中发布标题描述和多个图像时,因此标题和drscription将插入到一个表中,而照片名称将以相同的博客id(b_id)发布到另一个表中。现在我想用博客检索图像。您是否获得图像url?还是图像名称?如果是映像名称,则这些映像保存在同一服务器上。或者你有一些访问它们的路径。我想获取图像名称,顺便说一下,谢谢,我找到了我的答案。我应该在视图中得到结果,而不是在控制器上