0

我有三个表叫做线程,帖子,用户

线程得到

id
title
etc.

帖子得到了

id
thread_id
user_id
post
post_date
etc.

用户得到

id
username 
password
email
etc.

当用户想要查看线程时,我只需使用发布数据调用 jquery ajax 请求来发送线程 id 并返回此代码:

Response::eloquent(Thread::find(Input::get('threadid'))->posts()->get());

这段代码完美地完成了他的工作,并通过相同的 thread_id 返回帖子。(后模型还通过查看 user_id 急切加载用户)。

然而,这段代码抓取了帖子和用户的每个属性,我的意思是 json、post_date、post_updatereason、user_password、user_email 表中的所有列。

我只想用 json 获取帖子、用户名和 post_date

4

2 回答 2

4

您可以添加public static $hidden = array('list', 'of', 'fields');到扩展 Eloquent 的模型中。然后将不会返回您在数组中枚举的任何字段。有关详细信息,请参阅文档

例如

class User extends Eloquent {
  public static $hidden = array('password', 'email');
}

将返回没有passwordand的用户模型email

于 2013-01-19T13:13:03.303 回答
1

如果您使用的是 laravel 3,这可能与版本 4 相同,您应该能够使用 get 方法指定您想要的列。

Response::eloquent(Thread::find(Input::get('threadid'))->posts()->get(['username','post_date']));
于 2013-01-19T07:49:37.520 回答