如何查看相册中的图像

时间:2016-10-31 09:00:32

标签: php mysql laravel eloquent query-builder

我有3张图片,专辑和murs,我想根据murs_id的参考来查看每张专辑的图片,murs_id是murs的id。

图片: ID albums_id 图像

专辑: ID 名称 图片 murs_id

MURS: ID 滴度

$grids = DB::table('images')
                ->select(['image']);
          $grids->join('albums','images.albums_id','=','albums.id');
          $grids->where('albums.murs_id','=','12');
          $grids= $grids->get();
  

我收到此错误消息:无法使用stdClass类型的对象   阵列。

的print_r($栅极)

Array ( [0] => stdClass Object ( [image] => af6a8ce73d995a028422293bdc23774e.png ) 
            [1] => stdClass Object ( [image] => 00204bc5330c4f6b84028d23b6e96c09.png ) 
            [2] => stdClass Object ( [image] => b474b62ca932066ee5ac77094c757e74.png ) 
            [3] => stdClass Object ( [image] => 2c24b205b24bb1b47da90c54e2babfdb.png ) 
            [4] => stdClass Object ( [image] => 2d4b78b29ee5abbe103eed7b6b42cbdb.png ) 
            [5] => stdClass Object ( [image] => 6041a1abb83b18d38918fe9c79309596.jpg ) 
        )

5 个答案:

答案 0 :(得分:0)

试试这个:

$grids = DB::table('images')
               ->select('images.image')
               ->join('albums','images.albums_id','=','albums.id')
               ->where('albums.murs_id','=','12')
               ->get();

答案 1 :(得分:0)

您的错误是在使用$ grid时的某个地方。使用此代码,您将收到PHP stdClass对象,您无法执行类似 - > first()的操作。

您可以将其包装在这样的集合中:

$grids= collect($grids->get());

答案 2 :(得分:0)

我建议您使用eloquent relationships作为查询数据库。如果您已正确设置关系,则可以写为:

$grids = Image::whereHas('album', function($q) {
          $q->where('murs_id', 12);
         })->get()

要使用ImageAlbum之间的关系,请在album()类中添加Image函数:

Image.php

public function album()
{
    return $this->belongsTo(App\Album::class);
}

答案 3 :(得分:0)

您可能会将$ grid值作为数组访问,但它会返回一个对象。而不是$grids[0]['image'],请尝试$grids[0]->image

如果你正在循环,那么

foreach($grids as $grid) {
    echo $grid->image;
}

答案 4 :(得分:0)

调试lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean) 后,现在您收到的响应清楚地显示了对象形式的结果,而不是数组。

$grids

那么,如何从对象中获取值:

Array ( 
[0] => stdClass Object ( [image] => af6a8ce73d995a028422293bdc23774e.png ) 
[1] => stdClass Object ( [image] => 00204bc5330c4f6b84028d23b6e96c09.png ) 
[2] => stdClass Object ( [image] => b474b62ca932066ee5ac77094c757e74.png ) 
[3] => stdClass Object ( [image] => 2c24b205b24bb1b47da90c54e2babfdb.png ) 
[4] => stdClass Object ( [image] => 2d4b78b29ee5abbe103eed7b6b42cbdb.png ) 
[5] => stdClass Object ( [image] => 6041a1abb83b18d38918fe9c79309596.jpg ) )