php - Why auth register route gives blank and custom route shows another controller error

I have tried to create two different ways registration form.

First try was Auth::routes(); login form and route works but registration page shows blank page. If I tried Auth::routes(['register' => false]); then shows atleast 404 page.

Then I tried use custom routes:

Route::group(['namespace' => 'Auth', 'prefix' => 'partner'], function () {
    Route::get('login', 'LoginController@showLoginForm')->name('login');
    Route::post('login', 'LoginController@login');
    Route::get('register', 'RegisterController@showRegistrationForm')->name('register');
    Route::post('register', 'RegisterController@register');
});

Both controllers shows that front controller error line 665.

My Auth register controller:

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\User;
use App\Company;
use Hash;

class RegisterController extends Controller
{
    public function __construct()
    {
        parent::__construct();
        view()->share('pageTitle', __('email.registerAccount'));
    }

    public function showRegistrationForm()
    {
        return view('auth.register');
    }

    public function register(Request $request)
    {
        $request->validate([
            'first_name' => 'required|string|max:255',
            'last_name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'phone', 'required|integer|max:255',
            'password' => 'required|string|min:8|confirmed',
            'business_type' => 'required'
        ]);

        $user = new User();
        $user->first_name = $request->first_name;
        $user->last_name = $request->last_name;
        $user->calling_code = $request->calling_code;
        $user->mobile = $request->mobile;
        $user->email = $request->email;
        $user->password = $request->password;

        if ($request->hasFile('image')) {
            $user->image = Files::upload($request->image,'avatar');
        }

        $user->save();

        $company = new Company();
        $company->owner_id = $user->id;
        $company->type = $request->business_type;
        $company->save();

        return redirect('login');
    }
}

My mission is create registration forms for customer and partner, so I thinked I'll use same auth controller but different functions..

But I dont understand why it shows front controller error:

"Trying to get property 'name' of non-object" - line 665

And if im using front pages, there is no any errors at all. It shows only in that registration form.

Line 665:

    public function serviceDetail(Request $request, $categorySlug, $serviceSlug)
    {
        $service = BusinessService::where('slug', $serviceSlug)->first();
        
        $products = json_decode($request->cookie('products'), true) ?: [];
        $reqProduct = array_filter($products, function ($product) use ($service) {
            return $product['serviceName'] == $service->name; //Line 665
        });
 
        return view('front.service_detail', compact('service', 'reqProduct'));
    }

Answer

Solution:

 $service = BusinessService::where('slug', $serviceSlug)->first();

return null.

Make sure there is data in BusinessService, And there is data when 'slug' === $ serviceSlug anyway you have to car where no data is returned from DB

Source