2017-02-16 101 views
0

我有一個「預訂」具有與「市場」和「攤位」Laravel關係沒有返回結果

我已在選擇工作創建表單上,但該指數刀片顯示不正確的關係。

應該採取「ID」,並在下面的

<td>{{$user->role ? $user->role->name : 'User has no role'}}</td> 

轉換爲「姓名」字段作爲這與下面的型號代碼正確顯示: 公共職能作用(){

return $this->belongsTo('App\Role'); 
} 

,這是我的 「預訂」 模式:

public function marketdate(){ 

    return $this->belongsTo('App\Markets'); 
} 

public function stallstype() { 

    return $this->belongsTo('App\Stalls'); 
} 

隨着FO在index.blade llowing:

... 
<td>{{$booking->marketdate ? $booking->marketdate->date : '-' }}</td> 
<td>{{$booking->stallstype ? $booking->stallstype->name : '-'}}</td> 
... 

但是,這只是顯示「 - 」,當它呈現在網頁

標識的存儲在數據庫中是正確的,並做相關這是不正確顯示。其他

一兩件事,表架構如下:

攤位表:

Schema::create('stalls', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->integer('cost'); 
     $table->timestamps(); 
    }); 

市場表:

Schema::create('markets', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('date'); 
     $table->integer('is_active'); 
     $table->timestamps(); 
    }); 

的錯誤是:

at PhpEngine- >evaluatePath('C:\xampp\htdocs\moowoos\storage\framework\views/3bcb71b43fffee7f9 a9edf18bfb397ab94380507.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'bookings' => object(Collection), 'markets' => array('Saturday 4th March', 'Saturday 5th April', 'Saturday 6th May', 'Saturday 7th June', 'Saturday 8th July', 'Saturday 8th July'), 'stalltype' => array('Preloved', 'Craft', 'Business'))) in compiled.php line 15361 
at CompilerEngine->get('C:\xampp\htdocs\moowoos\resources\views/admin/bookings/index.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'bookings' => object(Collection), 'markets' => array('Saturday 4th March', 'Saturday 5th April', 'Saturday 6th May', 'Saturday 7th June', 'Saturday 8th July', 'Saturday 8th July'), 'stalltype' => array('Preloved', 'Craft', 'Business'))) in compiled.php line 15193 

這表明它正在返回陣列

+0

確實存在在那裏的數據? – ggdx

+0

是的,我可以在數據庫的「預訂」表中看到ID,並且這些ID與相關表的數據庫中的內容相對應,因爲我在創建頁面上的下拉列表使用相同的關係來填充 – Luke

+0

I' d說你沒有得到任何預訂數據,並且結果總是錯誤的。你如何獲取你的$預訂對象? – boroboris

回答

0

看來,Eloquent無法加載相關模型。當您使用列表()加載您的其他模型時,我假設您對業務模型也一樣。

當您致電列表('name','id')時,您告訴Eloquent僅加載數據庫中的這2個字段。因此,如果您也使用它來加載商業模式,那麼您不會提取marketdate_id也不stallstype_id,這就是爲什麼Eloquent無法加載相關模型的原因。

確保外鍵的字段傳遞給列表()方法,如果你想加載相關機型:

Business::lists('name', 'id', 'stalltype_id', 'marketdate_id')->all();