アクティブなクーポンを取得したい製品については、一度に使用できるクーポンは1つだけです。条件に基づいて1つの関連項目しか取得できない解決策
class Product extends Model
{
public $table_name = 'products';
protected $hidden = [
'coupons',
];
public function coupons() {
return $this->hasMany('App\Models\Coupon', 'dish_id');
}
public function activeCoupons() {
$instance = $this->hasMany('App\Models\Coupon', 'dish_id');
$instance->getQuery()->where('start', '<', new \DateTime());
$instance->getQuery()->where('end', '>', new \DateTime());
return $instance;
}
}
私はJSON-APIでアプリに製品を提供しています:
私の製品モーダルは次のようになります。
$product['coupon'] = $product->activeCoupons[0];
私はこれをやっている、私はJSONでactiveCouponsの配列を返すようにしたくないので、私は今、非常に醜い何かをやっているデータベースからデータをフェッチした後
。私はアクティブなクーポンまたはnullを返したい。
これを行うより良い方法はありますか?
へのお返事からを求めて何のようだ、非常にきれいなものではありません私は思って..そして、2番目のアプローチではまだ配列を取得しています。配列内のアイテムは1つだけですが、それでもJSONの配列です... – rakete
残念ながら、結果として必要なものはわかりません。 – Laerte