Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 20.12.2016 16:30:16

QueryException in Connection.php line 770:

Подскажите відает такую ошибку, не могу понять причину

QueryException in Connection.php line 770: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'portfolios.category_id' in 'where clause' (SQL: select * from `portfolios` where `portfolios`.`category_id` in (1, 2, 3, 4, 5))

Вот код

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Page;

use App\Service;

use App\Client;

use App\Team;

use App\Portfolio;

use App\Category;

class IndexController extends Controller
{
    public function index()
    {
    	$pages = Page::all();
        $service = Service::all();
        $client  = Client::all();
        $teams	 = Team::all();
        $categorys = Category::with('portfolio')->get();


        $data = [ 

        			'pages'     => $pages, 
        			'service'	=> $service,
        			'client' 	=> $client,
        			'teams'		=> $teams,
        		 ];
    	return view('site.index', $data);
    }
}

//модель
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    
    protected $table = "categorys";

    public function portfolio()
    {

    	return $this->hasMany('App\Portfolio');
    }
}


<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Portfolio extends Model
{
    
    protected $table = "portfolios";
    
    public function category()
    {
    	return $this->belongsTo('App\Category');
    }
}

Связь в MySql работает нормально

Не в сети

#2 20.12.2016 16:36:07

Re: QueryException in Connection.php line 770:

Нашел ошибку, в БД в таблице portfolios указано поле  categorys_id` вместо category_id, подскажите как можно кодом исправить это

Не в сети

#3 20.12.2016 16:38:20

Re: QueryException in Connection.php line 770:

Решил проблему
return $this->hasMany('App\Portfolio', 'categorys_id');

Не в сети

#4 20.12.2016 17:02:27

Re: QueryException in Connection.php line 770:

Подскажите а что тут не правельно

 @foraech($categorys->portfolio() as $itemp)
     <h4 class="project_name">{{ $itemp->title }}</h4>
 @endforaech

Не в сети

#5 20.12.2016 17:02:39

Re: QueryException in Connection.php line 770:

Вот код ошибки
Whoops, looks like something went wrong.
3/3 ErrorException in e44afa031038241bb71b51e4149531a76e3b59c6.php line 137: Undefined variable: itemp (View: C:\OpenServer\domains\laging.loc\resources\views\site\content.blade.php) (View: C:\OpenServer\domains\laging.loc\resources\views\site\content.blade.php)

Не в сети

#6 20.12.2016 18:00:14

TrueKanonir
Откуда: Ташкент
Сообщений: 221

Re: QueryException in Connection.php line 770:

@foraech($categorys->portfolio as $itemp)
     <h4 class="project_name">{{ $itemp->title }}</h4>
 @endforaech

И категории во множественном числе пишутся так categories

Изменено TrueKanonir (20.12.2016 18:03:07)

Не в сети

Подвал раздела