लार्वा रिश्ते सहयोगी कॉल अपरिभाषित विधि के लिए कॉल करें

मैंने इसे नियंत्रक में पहले काम किया है लेकिन अब इसे एक रिपोजिटरी सेट अप में काम नहीं कर सकता है।

मेरे पास दो मॉडल हैं - किताबें और टिकट नीचे के रूप में देखें।

मैं टिकट ऑडिट को पुस्तकों से जोड़ने की कोशिश कर रहा हूं लेकिन मुझे एक त्रुटि मिलती है जिसे अपरिभाषित विधि पर कॉल करें

यहां मेरे मॉडल हैं:

पुस्तक मॉडल:

class Book extends Eloquent {
    public function ticketAudit() {
    return $this->hasMany('TicketAudit');
}
}

टिकटऑडिट मॉडल:

class TicketAudit extends Eloquent {
    public function book() {
    return $this->belongsTo('Book');
}
}

पुस्तक नियंत्रक में मेरे पास निम्नलिखित है (पुस्तक इंजेक्शन दी गई है):

public function store()

{
    $input = Input::all();

    $result = $this->book->create($input);

    if ($result) {
   //    //if book created then create tickets

         $this->ticket->createTicket($input, $result);

         return Redirect::route('books.index');
    }
}

और विधि में भंडार में टिकट बनाएँ मेरे पास है:

public function createTicket($input, $book) {

    $counter = $input['start_number'];

    while($counter <= $input['end_number']) {

        $ticketDetails = array(
            'ticketnumber'=>$counter,
            'status'=>'unused',
            'active'=>1
            );

        $newTicket = $this->ticket->create($ticketDetails);

        $newTicket->associate($book);

        $newTicket->save();


        $counter = $counter+1;

    }
    return $counter;
}

सहयोगी विधि त्रुटि उत्पन्न कर रही है - मुझे यह अन्य मॉडलों में काम कर रहा है लेकिन एक संग्रह में यह परिवर्तन मुझे सिरदर्द पैदा कर रहा है!

मैंने क्या त्रुटि बनाई है?

0

1 उत्तर

आप यह सब बहुत छोटा कर सकते हैं:

public function createTicket ($input, $book) {

    $counter = $input['start_number'];
    $end     = $input['end_number'];

    for ( ; $counter <= $end; $counter++ )
    {
        $book->ticketAudit()->save($this->ticket->newInstance(array(
            'ticketnumber' => $counter,
            'status'       => 'unused',
            'active'       => 1
        )));
    }
}
0
जोड़ा
बहुत बहुत धन्यवाद। मैं चेनिंग विधियों के साथ सतर्क हूं क्योंकि मुझे हमेशा आदेश नहीं देता है आदि। आपकी मदद के लिए धन्यवाद
जोड़ा लेखक Ray, स्रोत