0

模型

class Profile extends Eloquent {

     public function user(){ return $this->belongsTo('User'); }

     public function url(){
        return URL::Route('profile', array('city_slug' => $this->city_slug, 'slug'=> $this->slug));
     }

}

控制器

class ProfileController extends BaseController {
    public function show($user_id)
    {
         $profile = Profile::with('user')->where('user_id', $user_id);
         return Response::json($profile, 200);
    }
}

我希望响应包含从 Profile 方法 url(){} 生成的 URL

{
    "id" : 1,
    "url" : /profile/{city_slug}/{slug},
    ....
}

提前致谢。

4

1 回答 1

0

我会采取另一种方式。

在您的用户模型中...

public function profile()
{
    return $this->belongsTo('Profiles','profile_id');
}

然后你可以使用$profile = User::find(user_id)->profile.

$data = array(
    'id' => $profile->id,
    'url' => "/profile/".$profile->city_slug."/".profile->slug
);

然后最后 return Repsonse::json($data,200);

于 2013-07-17T21:34:05.340 回答