2016-09-08 11 views
0

FormFactorモデルから列Fieldを選択するにはどうすればよいですか?私は、レコードセットから1つの列だけを選択したい。laravel eloquentモデルから特定の列を選択してください

public function ApiFormFactorDetails() 
{ 
    return $this->belongsTo('App\Model\FormFactor','formfactor_id')->select('name'); 
} 
+0

名前を配列に配置しようとしましたか: ' - > select(['name']);'? – TheFallen

+0

私は試しましたが、それは私を与えてくれませんでした。 –

答えて

0

Eloquentモデルは、クエリビルダとほとんど同じ構文を共有します。 the query builder documentation

行全体を必要としない場合でも、valueメソッドを使用してレコードから単一の値を抽出することができます。この方法は、直接列の値を返します。

$email = DB::table('users')->where('name', 'John')->value('email');

をお使いの場合:

public function ApiFormFactorDetails() 
{ 
    return $this->belongsTo('App\Model\FormFactor','formfactor_id')->value('name'); 
} 
+0

public function apiGetFormFactorDetails() { return $ this-> belongsTo( 'App \ Model \ FormFactor'、 'formfactor_id') - > value( 'name'); は} 私はこれを試してみましたが、エラーとしての終わりまで: ERROR: - Builder.phpライン451で FatalErrorException:非オブジェクト –

0

実は、あなたがやっている方法は、正常に動作する必要があります。あなたが関数内のコードを保つことができます。その後、

public function ApiFormFactorDetails() 
{ 
    return $this->belongsTo('App\Model\FormFactor','formfactor_id')->select('name'); 
} 

そして、このようにそれを呼び出す:

$object->ApiFormFactorDetails; 

リターンのみname属性としてを持っています。

+0

上のメンバ関数addEagerConstraints()の呼び出しが、それはまた、私はnullを与えています #relations:array:1 ["apiGetFormFactorDetails" => null –

+0

return $ this-> belongsTo( 'App \ Model \ FormFactor'、 'formfactor_id');に戻り、返されているかどうかを確認してくださいあなたが '$ object-> ApiFormFactorDetails; 'を呼ぶときは何でも。オブジェクトとFormFactorエンティティの間に何らかの関係がある場合は、何かを返す必要があります。 – Laerte

+0

私はそれがすべてのレコードセットを返しているが、私が望むものは1つではない –

関連する問題