Laravel Eloquent LINKS VERBINDEN WO NULL

Ich versuche, Eloquent, führen Sie die folgende Abfrage aus, während eine Datenbank-Samen:

SELECT
    *
FROM
    customers
LEFT JOIN
    orders
    ON customers.id = orders.customer_id
WHERE
    orders.customer_id IS NULL

Und hier ist meine Umsetzung in Eloquenter:

$c = Customer::leftJoin('orders', function($join) {
      $join->on('customers.id', '=', 'orders.customer_id');
    })
    ->whereNull('orders.customer_id')
    ->first();

In der Erwägung, dass die erste Abfrage gibt alle Ergebnisse, die Beredt äquivalent gibt immer leerer Elemente für alles, aber die email und phone Felder der customers Tabelle. Ich bin an einem Verlust zu erklären, da die Customers und Orders Modelle sind sowohl handwerklich erzeugten Skelette.

Ex:

class Customer extends \Eloquent {

    //Add your validation rules here
    public static $rules = [
        //'title' => 'required'
    ];

    //Don't forget to fill this array
    protected $fillable = [];

}

Hier ist der array, der ausgegeben wird, wenn ich dd() die erste Eloquent Abfrage auf ein samenkorn (generiert, das ursprünglich von Faker):

protected $original =>
  array(25) {
    'id' =>
    NULL
    'first_name' =>
    NULL
    'last_name' =>
    NULL
    'email' =>
    string(24) "[email protected]"
    'phone' =>
    string(17) "642.150.9176x5684"
    'address1' =>
    NULL
    'address2' =>
    NULL
    'city' =>
    NULL
    'state' =>
    NULL
    'county' =>
    NULL
    'district' =>
    NULL
    'postal_code' =>
    NULL
    'country' =>
    NULL
    'notes' =>
    NULL
    'created_at' =>
    NULL
    'updated_at' =>
    NULL
    'customer_id' =>
    NULL
    'total' =>
    NULL
}
Kommentar zu dem Problem
Dieser code läuft genau die gleiche Abfrage als SQL Kommentarautor: Jarek Tkaczyk

InformationsquelleAutor der Frage eComEvo | 2014-04-27

Schreibe einen Kommentar