Laravel 5 - Как мне вернуть отношения между одноманскими?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel 5 - Как мне вернуть отношения между одноманскими?

Сообщение Anonymous »

Я новичок в Laravel, и я использую Laravel 5, у меня проблемы с возвратом массива из моей базы данных. < /p>

У меня есть несколько «действий», и в каждом акте есть много «баннеров». Всякий раз, когда я стараюсь получить вывод из своего массива баннеров ( $ act-> banners-> count () ), я считаю, что она бросает ошибку, потому что она нулевая. < /p>

Вот код: < /p>

routes.php: < /p>

Код: Выделить всё

Route::model('banners', 'Banner');
Route::model('acts', 'Act');

// Controller routes
Route::resource('acts', 'sf_ActController');
Route::resource('acts.banners', 'sf_BannerController');

Route::bind('banners', function($value, $route) {
return App\Banner::whereact_id($value)->first();
});
Route::bind('acts', function($value, $route) {
return App\Act::whereact_id($value)->first();
});
< /code>

Aact.php (model) < /p>

namespace App;

use Illuminate\Database\Eloquent\Model;

class Act extends Model
{
protected $table = 'sf_act';
protected $primaryKey = 'act_id';

public function act() {
return $this->hasMany('Banner');

}
}
< /code>

banbanner.php (model) < /p>

namespace App;

use Illuminate\Database\Eloquent\Model;

class Banner extends Model
{

protected $table = 'sf_banner';
protected $primaryKey = 'banner_id';

public function banner() {
return $this->belongsTo('Act' , 'act_id' , 'act_id');
}
}
< /code>

sf_actcontroller.php (контроллер) < /p>

namespace App\Http\Controllers;
use Illuminate\Http\Request;

use App\Act;
use App\Banner;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Input;
use Redirect;

class sf_ActController extends Controller
{
public function show(Act $act)
{

//pass object to correct view
return view('pages.acts.show' , compact('act'))->with('banner', Banner::find($act));
}
< /code>

Aacts/show.blade.php (view) < /p>


@extends('app')

@section('content')
{{ $act->act_title }}

{{ $act->banners->count() }}
at this point I get the following error:


FatalErrorException in a03036ad81fb4e6d90e9fe5e3da62c65 line 7:
Call to a member function count() on null


Почему я не получаю данные своих баннеров!? (Переменная заголовка в тегах H2 выводит хорошо, поэтому DB и все вплоть до этого момента.) Спасибо.) Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/323 ... lationship
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»