Я хочу получить параметр "$ invoice2-> form-> form" в поле зрения. Счета и формы находятся в других таблицах и моделях, но связаны с отношениями laravel и внешними ключами в миграциях. Имя таблицы - это формы, а имя столбца - это форма. Название модели - Форма. Теперь я получаю эту ошибку. Вызов неопределенной связи [форма] в модели [App \ Invoice]. в этой функции
$invoice2 = Invoice::with('form')->find($invoice->id);
Это остальная часть моего контроллера с ненужными элементами:
public function show(Invoice $invoice)
{
$users = User::all('showname','id');
$forms = Form::all('id', 'form');
$currencys = Currency::all('id', 'currency', 'course');
$query = DB::table('forms')
->join('invoices', 'forms.id', '=', 'invoices.form_id');
$query1 = DB::table('currencys')
->join('invoices', 'currencys.id', '=', 'invoices.currency_id');
$invoice2 = Invoice::with('form')->find($invoice->id);
return view('invoices.show', compact('users', 'forms', 'currencys', 'invoice', 'query', 'query1', 'invoice2'));
}
Это начало файла контроллера счета:
namespace App\Http\Controllers;
use Kyslik\ColumnSortable\Sortable;
use App\Invoice;
use Illuminate\Http\Request;
use App\User;
use App\Proform;
use App\Form;
use App\Currency;
use DB;
Это моя модель счета:
<?php
namespace App;
use Kyslik\ColumnSortable\Sortable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Invoice extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
use SoftDeletes;
use Sortable;
protected $table = 'invoices';
protected $fillable = [
'invoicenumber', 'invoicedate', 'id', 'selldate', 'user_id', 'paymentmethod',
'paymentdate', 'status', 'comments', 'city', 'paid', 'autonumber', 'automonth', 'autoyear', 'name',
'PKWIU', 'quantity', 'unit', 'netunit', 'nettotal',
'VATrate', 'grossunit', 'grosstotal', 'form_id', 'currency_id',
];
public $sortable = [ 'invoicenumber', 'invoicedate', 'id', 'selldate', 'user_id', 'paymentmethod',
'paymentdate', 'status', 'comments', 'city', 'paid', 'autonumber', 'automonth', 'autoyear', 'name',
'PKWIU', 'quantity', 'unit', 'netunit', 'nettotal',
'VATrate', 'grossunit', 'grosstotal', 'form_id', 'currency_id',
];
protected $dates = ['deleted_at'];
public $primaryKey = 'id';
public function user()
{
return $this->belongsTo('App\User');
}
public function form()
{
return $this->belongsTo('App\Form');
}
public function currency()
{
return $this->hasOne('App\Currency');
}
public function proform()
{
return $this->belongsTo('App\Proform');
}
}
Это моя модель формы:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Form extends Model
{
//
protected $fillable = [
'id', 'form',
];
public function invoice()
{
return $this->hasMany('App\Invoice');
}
public function proform()
{
return $this->belongsTo('App\Proform');
}
}