php - Facade\Ignition\Exceptions\ViewException 试图获取非对象的属性“名称”
问题描述
我有一个错误,我不知道如何解决它。我尝试添加?? ""
后$customer->name
不起作用。
lluminate\Foundation\Bootstrap\HandleExceptions::handleError C:\laragon\www\zorland-app\resources\views/invoices/create.blade.php:33
创建.blade.php
<div class="float-left col-md-6">
Odaberi kupca: <b>{{ $customer->name }}</b>
<input type="hidden" name="invoice[customer_id]" value="{{ $customer->id }}" />
</div>
客户.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Customer extends Model
{
//
protected $fillable = ['name', 'address', 'postcode', 'city', 'state', 'country_id', 'postcode', 'phone', 'email'];
public function customer_fields()
{
return $this->hasMany(CustomersField::class);
}
public function country()
{
return $this->belongsTo(Country::class);
}
}
客户控制器.php
<?php
namespace App\Http\Controllers;
use App\Country;
use App\Customer;
use App\CustomersField;
use Illuminate\Http\Request;
class CustomersController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$customers = Customer::all();
return view( 'customers.index', compact('customers'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$countries = Country::all();
return view('customers.create', compact('countries'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$customer = Customer::create($request->all());
for ($i=0; $i < count($request->customer_fields); $i++) {
if (isset($request->customer_fields[$i]['field_key']) && isset($request->customer_fields[$i]['field_value'])) {
CustomersField::create([
'customer_id' => $customer->id,
'field_key' => $request->customer_fields[$i]['field_key'],
'field_value' => $request->customer_fields[$i]['field_value']
]);
}
}
return redirect()->route('customers.index');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
发票控制器.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Customer;
use App\CustomersField;
use App\Invoice;
use App\InvoicesItem;
use App\Product;
class InvoicesController extends Controller
{
//
public function create(Request $request)
{
$customer = Customer::find($request->customer_id);
$tax = 0;
$products = Product::all();
return view('invoices.create', compact('tax', 'products', 'customer'));
}
public function store(Request $request)
{
$invoice = Invoice::create($request->invoice);
for ($i=0; $i < count($request->product); $i++) {
if (isset($request->qty[$i]) && isset($request->price[$i])) {
InvoicesItem::create([
'invoice_id' => $invoice->id,
'name' => $request->product[$i],
'quantity' => $request->qty[$i],
'price' => $request->price[$i]
]);
}
}
return redirect()->route('home');
}
public function show($invoice_id)
{
$invoice = Invoice::findOrFail($invoice_id);
return view('invoices.show', compact( 'invoice'));
}
public function download($invoice_id)
{
$invoice = Invoice::findOrFail($invoice_id);
$pdf = \PDF::loadView('invoices.pdf', compact('invoice'));
return $pdf->stream('invoice.pdf');
}
}
解决方案
推荐阅读
- javascript - 水平动画时背景图像被切断
- java - 我可以在 Android Studio 中将 Perl 项目与 Android 项目一起嵌入吗?
- docker - 使用 docker-compose 在生产环境中部署 docker 容器
- python - 如何停止循环耗尽内存?
- kotlin - 是否有用于查找向量中元素索引的 Kotlin 函数?
- asp.net-core - 如何在 IHostingStartup 实现中访问配置?
- css - stroke-dasharray 和 stroke-dashoffset 填充进度
- python - 使用您选择的给定分隔符将字符和数字段与给定字符串分开
- laravel - 一般错误:3730 无法删除由外键约束引用的表“问卷”(SQL:如果存在“问卷”,则删除表) Laravel
- java - 如何在 Windows 终端上使用 Log4j2 启用 ANSI 颜色?