0

スレッド、投稿、ユーザーという3つのテーブルがあります

スレッドが取得しました

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、username、post_dateを取得したいだけです

4

2 に答える 2

4

public static $hidden = array('list', 'of', 'fields');Eloquent を拡張するモデルを追加できます。その後、配列で列挙したフィールドは返されません。詳細については、ドキュメントを参照してください

例えば

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

passwordおよびなしでユーザー モデルを返します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 に答える