2014-11-03 40 views
0

我工作过的一项基本制度,其中博客检索其他数据库表中的图像,但它显示的职位而不是照片 这里是我的控制器:检索行laravel

$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 
+0

您是否在控制器中获取照片?你用print_r检查过吗? – 2014-11-03 10:49:37

+0

我只根据帖子检索照片名称。意思是当我发布标题描述和一个以上的图像在帖子中,所以thr标题和drscription将被插入到表格中,而照片名称将会被张贴在具有相同的博客ID(b_id)的其他表格中,现在我想要回顾图像与博客。 – 2014-11-03 10:55:51

+0

您是否获取图片网址?或图像名称?如果图像名称是这些图像保存在同一台服务器上。或者你有一些访问它们的路径。 – 2014-11-03 11:01:01

回答

1

可能我建议你正在寻找关系,这也可能是你的答案。

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

bloginfo::with('posts', 'posts.images')->where('blog_name','=',$name)->first(); 

这将载入与其相关的所有信息(即帖子)及其图像的博客帖子。看这里设置它们。 HERE

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