Ich habe Tabelle orders
und Tabelle payments
. Ich möchte Tabelle orders
abfragen, Tabelle payments
beitreten und mit einer Bestellung anzeigen, die bezahlt wird und welche nicht.Abfrage zwei Tabellen mit Laravel und zwei WHERE Bedingungen
Dies ist Auftragsmodell
class Order extends Eloquent {
protected $table = 'orders';
protected $primaryKey = 'order_id';
public function paidorders() {
return $this->hasMany('payments', 'processed');
}
}
Dies ist Zahlungsmodell
class Payment extends Eloquent {
protected $table = 'payments';
protected $primaryKey = 'paymentID';
public function orders()
{
return $this->hasMany('Order', 'user_id');
}
}
Und die User-Modell
public function orders() {
return $this->hasMany('Order', 'user_id');
}
Dies ist, wie ich nur ohne Status zur Zeit Aufträge zeigen bezahlt/nicht bezahlt.
$orders = self::$user->orders()->get();
return View::make('site.users.orders', [
'orders' => $orders
]);
Dies ist die Abfrage, aber ich weiß nicht, wie es
SELECT orders. * , payments. *
FROM orders
INNER JOIN payments ON orders.user_id = payments.userID
WHERE orders.user_id =2
AND payments.userID =2
self::$user->...
ist der angemeldete Benutzer in Laravel zu implementieren. Wie wird dies in der WHERE
Klausel verwendet werden?
Ich verstehe es nicht genau, wie diese Abfrage
UPDATE dd($orders)
object(Illuminate\Database\Eloquent\Collection)#264 (1) { ["items":protected]=> array(1) { [0]=> object(Order)#260 (20) { ["table":protected]=> string(6) "orders" ["primaryKey":protected]=> string(8) "order_id" ["connection":protected]=> NULL ["perPage":protected]=> int(15) ["incrementing"]=> bool(true) ["timestamps"]=> bool(true) ["attributes":protected]=> array(1) { ["processed"]=> string(1) "1" } ["original":protected]=> array(1) { ["processed"]=> string(1) "1" } ["relations":protected]=> array(0) { } ["hidden":protected]=> array(0) { } ["visible":protected]=> array(0) { } ["appends":protected]=> array(0) { } ["fillable":protected]=> array(0) { } ["guarded":protected]=> array(1) { [0]=> string(1) "*" } ["dates":protected]=> array(0) { } ["touches":protected]=> array(0) { } ["observables":protected]=> array(0) { } ["with":protected]=> array(0) { } ["morphClass":protected]=> NULL ["exists"]=> bool(true) } } }
Zahlung viele Aufträge zu bauen hat? sollte das nicht der Ordnung gehören? –
Kann ja sein .. Aber immer noch bin ich nicht sehr gut in Laravel und verstehe nicht, wie man die Abfrage –