FormFactor
モデルから列Field
を選択するにはどうすればよいですか?私は、レコードセットから1つの列だけを選択したい。laravel eloquentモデルから特定の列を選択してください
public function ApiFormFactorDetails()
{
return $this->belongsTo('App\Model\FormFactor','formfactor_id')->select('name');
}
FormFactor
モデルから列Field
を選択するにはどうすればよいですか?私は、レコードセットから1つの列だけを選択したい。laravel eloquentモデルから特定の列を選択してください
public function ApiFormFactorDetails()
{
return $this->belongsTo('App\Model\FormFactor','formfactor_id')->select('name');
}
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');
}
public function apiGetFormFactorDetails() { return $ this-> belongsTo( 'App \ Model \ FormFactor'、 'formfactor_id') - > value( 'name'); は} 私はこれを試してみましたが、エラーとしての終わりまで: ERROR: - Builder.phpライン451で FatalErrorException:非オブジェクト –
実は、あなたがやっている方法は、正常に動作する必要があります。あなたが関数内のコードを保つことができます。その後、
public function ApiFormFactorDetails()
{
return $this->belongsTo('App\Model\FormFactor','formfactor_id')->select('name');
}
そして、このようにそれを呼び出す:
$object->ApiFormFactorDetails;
リターンのみname
属性としてを持っています。
上のメンバ関数addEagerConstraints()の呼び出しが、それはまた、私はnullを与えています #relations:array:1 ["apiGetFormFactorDetails" => null –
return $ this-> belongsTo( 'App \ Model \ FormFactor'、 'formfactor_id');に戻り、返されているかどうかを確認してくださいあなたが '$ object-> ApiFormFactorDetails; 'を呼ぶときは何でも。オブジェクトとFormFactorエンティティの間に何らかの関係がある場合は、何かを返す必要があります。 – Laerte
私はそれがすべてのレコードセットを返しているが、私が望むものは1つではない –
名前を配列に配置しようとしましたか: ' - > select(['name']);'? – TheFallen
私は試しましたが、それは私を与えてくれませんでした。 –