#結論
###自分で作成したモデルのnamespace宣言が誤っていた。
php artisan make:model
コマンドでモデルを作成した場合は自動的に名前空間が登録されるようですが、
コマンドを使用せず自分でモデルを追加した場合、別途登録してあげる必要があるようです。
#発生したコード
// App\Models\PasswordResetsという名前空間をインポートしているのに
use App\Models\PasswordResets;
class ResetPasswordController extends Controller
{
...
public function showResetForm(Request $request, $token = null)
{
// PasswordResetsが見つからずにエラー発生
$record = PasswordResets::where('email', $request->email)->first();
#解消
###1. namespaceの宣言を確認
PasswordResetクラスのほうを見てみるとnamespaceの宣言が誤っていました。ので修正。
<?php
// 自分でModelsフォルダを作成してそこに格納しているので、namespace App\Models;と記述する必要がある...当たり前
namespace App;
use Illuminate\Database\Eloquent\Model;
class PasswordResets extends Model
{
...
###2. composer dump-autoload
の実行
コマンドの実行によって独自に実装した名前空間も拾って、設定ファイルに保存してくれます。
> composer dump-autoload
###3. 名前空間に追加されたことを確認
laravel/vendor/composer/autoload.classmap.php
に名前空間が追加されていればOKです。
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'App\\Models\\PasswordReset' => $baseDir . '/app/Models/PasswordReset.php',