我们有一个模型<Type Name="std::basic_string<unsigned short,*>">
<AlternativeType Name="std::basic_string<wchar_t,*>" />
<DisplayString Condition="_Myres < _BUF_SIZE">{_Bx._Buf,su}</DisplayString>
<DisplayString Condition="_Myres >= _BUF_SIZE">{_Bx._Ptr,su}</DisplayString>
<StringView Condition="_Myres < _BUF_SIZE">_Bx._Buf,su</StringView>
<StringView Condition="_Myres >= _BUF_SIZE">_Bx._Ptr,su</StringView>
<Expand>
<Item Name="[size]">_Mysize</Item>
<Item Name="[capacity]">_Myres</Item>
<ArrayItems>
<Size>_Mysize</Size>
<ValuePointer Condition="_Myres < _BUF_SIZE">_Bx._Buf</ValuePointer>
<ValuePointer Condition="_Myres >= _BUF_SIZE">_Bx._Ptr</ValuePointer>
</ArrayItems>
</Expand>
</Type>
。在我们正在做的助手课程中:
App\Models\Tag
这会出错:
<?php
namespace App\Helpers;
use App\Models\Tag;
class Helper {
/**
* Get tag
*
**/
public static function tag($path){
return Tag::where('path', '=', $path)->first();
}
}
即使使用FatalErrorException in Model.php line 780:
Class 'Tag' not found
也会出错:
App\Models\Tag::where('path', '=', $path)->first()
最奇怪的是我们可以毫无问题地使用控制器中的FatalErrorException in Helper.php line 15:
Class 'App\Helpers\App\Models\Tag' not found
。所以,问题似乎是在这个辅助类而不是模型上。有什么想法吗?
Tag.php
App\Models\Tag
修改1
手动添加模型 Tag.php ,而不是使用<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Tag extends Model {
// database table
protected $table = 'tags';
}
?>
。所以,它有可能在课程地图中遗漏。根据{{3}}的建议,我们尝试artisan
,但这没有帮助。
修改2
我们最终将问题追溯到与Tag.php相关的不同模型。导致问题的代码行是:
composer dump-autoload -o
当模型抛出错误时,Laravel没有给出错误发生的行号,所以我们确定第一次出现Tag作为原因,而真正的原因是最后一次出现( $tag = Tag::where('path', '=', $path)->first();
if ($tag == null) {
$tagLet = TagLet::where('path', '=', $path)->first();
if ($tagLet != null) {
$tag = $tagLet->tag;
}
}
)。
TagLet.php:
$tag = $tagLet->tag;
正如@Rodrane&amp; amp; @SauminiNavaratnam解决方案是使用&#39; App \ Models \ Tag&#39;而不是&#39; Tag&#39;
public function tag()
{
return $this->belongsTo('Tag');
}