jeudi 21 janvier 2016

Laravel Query Builder - Custom Response

I have a Laravel query like this-

public  function rearrangePhoto(Request $request)
{
    $ordering = $request->input('ordering');
    return UserSlidePhoto::where('user_id', Auth::id())
                  ->select(
                            'thumbnail_name',
                            'original_image_name',
                            'id'
                          )
                  ->orderBy('created_at', $ordering)
                  ->get();
}

And Model like this-

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class UserSlidePhoto extends Model
{
    protected $table="users_slides_photos";

    protected $fillable=['user_id','social_image_id','provider_key','provider_id','thumbnail_name'];
    public function users()
    {
        return $this->belongsTo('App\User')->withTimestamps();
    }
}

And I am getting response like this-

[{
  "thumbnail_name": "2-hR1vt2ZOOesbpGv00MRbGDYyGAMEqU.jpg",
  "original_image_name": "qweqqwe.jpg",
  "id": 49
},
{
  "thumbnail_name": "2-xqiUrT2lJkEBQ0aA3MmZARmWlAq0BT.jpg",
  "original_image_name": "tyutjh.jpg",
  "id": 50
},
{
  "thumbnail_name": "2-s0zzdC275XqvrT2llBQ4h9sugadCHk.jpg",
  "original_image_name": "asdas.jpg",
  "id": 101
}]

I like to get response like this-

[{
  "thumbnail_name": "base_url/2-hR1vt2ZOOesbpGv00MRbGDYyGAMEqU.jpg",
  "original_image_name": "qweqqwe.jpg",
  "id": 49
},
{
  "thumbnail_name": "base_url/2-xqiUrT2lJkEBQ0aA3MmZARmWlAq0BT.jpg",
  "original_image_name": "tyutjh.jpg",
  "id": 50
},
{
  "thumbnail_name": "base_url/2-s0zzdC275XqvrT2llBQ4h9sugadCHk.jpg",
  "original_image_name": "asdas.jpg",
  "id": 101
}]

So what I have done is this-

public  function rearrangePhoto(Request $request)
{
    $ordering = $request->input('ordering');
    $base_url = "base_url/";
    return UserSlidePhoto::where('user_id', Auth::id())
                  ->select(
                            $base_url . DB::raw('thumbnail_name'),
                            'original_image_name',
                            'id'
                          )
                  ->orderBy('created_at', $ordering)
                  ->get();
}

And I am getting this error-

enter image description here

Can anyone please help?

Thanks in advance for helping....



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire