2016-08-31 2 views
1

私はlaravelでプロジェクトをやっています。私は連絡をテーブルから返信したいと思います。コンタクトテーブルでは、 "city_id"という名前のフィールドです。 "city_id"はnullでもかまいません。 の連絡先テーブルからレコードをフェッチしているときに、city_idがnullかどうかを確認したいと思います。このfieildがnullで、city_idの戻り値としてnullが表示されている場合、city_idを ""(空のフィールド) 。私はIFNULLを使ってみましたが、正確な結果を得ることはできませんでした。そうデータベースレコードにnullが含まれている場合、空の値をdatafieldに設定するにはどうすればよいですか?

$contacts = ContactList::where('provider_contacts_list_id',$contact_id)->where('is_delete',0)->latest('updated_at')->get([DB::raw('IFNULL(city_id,"") as city_id')]); 

が、その後、私は私が得る(にのみCITY_IDを追加したので、

{ 
    "city_id": "" 
} 

、すなわちレコードだけではなく、接触テーブルの他のfiledsをCITY_ID、取得):ここで

私のコードです他の連絡先フィールドも必要な場合は、get()ですべてのfiledsを指定する必要がありますので、city_idのすべての連絡先フィールドを取得する方法は ""ですか?

答えて

3

あなたは、たとえば、Contactモデルでaccessorを作成する必要があります。

public function getCityIdAttribute($value) 
{ 
    return is_null($value) ? " " : $value; 
} 
+1

おかげで、これは私のために魔法のように働いた:)それは助け – Amarja

+0

うれしいです。 ) –

関連する問題