【问题标题】:syntax error, unexpected 'use' (T_USE)语法错误,意外的“使用”(T_USE)
【发布时间】:2017-07-22 15:21:16
【问题描述】:

我的刀片文件顶部有一个简短的 PHP sn-ps

<?php


use App\ImageWork, App\User, App\Skill, App\Contact, App\ActivityLog;

$images   = ImageWork::orderBy('created_at', 'desc')->get();
$users    = User::orderBy('created_at', 'desc')->get();
$logs     = ActivityLog::orderBy('created_at', 'desc')->get();
$skills   = Skill::orderBy('created_at', 'desc')->get();
$contacts = Contact::orderBy('created_at', 'desc')->get();

?>

我明白了:

syntax error, unexpected 'use' (T_USE)

当我不添加那行时,我得到了这个

Class 'ImageWork' not found

我现在应该怎么做无论哪种方式都是错误的?

任何提示/建议?

【问题讨论】:

  • @aynber Q&A 没有T_USE 的条目。
  • 是否可以在 Blade 模板中使用 use 关键字?尝试删除该行并将ImageWork:: 更改为App\Imagework:: 等。此外,您不应该在模板中执行此操作。
  • 只是出于好奇,为什么这是在刀片文件的顶部而不是在控制器中然后通过?我不能诚实地告诉你答案,因为实际代码本身看起来不错,但可能会考虑将其移至您的控制器 - 如果它不起作用,我们可以看看其他原因:)
  • 快速谷歌搜索说你不能,例如stackoverflow.com/questions/18227439/…

标签: php laravel laravel-5


【解决方案1】:

包括数据库外观

use Illuminate\Support\Facades\DB;

并尝试使用它:

$images   = DB::table('ImageWork')->orderBy('created_at', 'desc')->get();

【讨论】:

  • 他有模型时为什么要使用DB::table
  • 如果它工作并且其他模型没有得到相同的错误,他可以将问题隔离到 ImageWork 模型并找出导致模型错误的原因。
猜你喜欢
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2018-08-03
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
相关资源
最近更新 更多