控制器返回空白数据

the controller is returning a blank data/view and I think something is wrong with my routes. if I remove {locale}, the data is retrieved.

Can anyone help with returning the data properly while my routes have {locale} in it? Here are my related code:

Web.php

Route::get('{locale}/projects/{id}/billings', 'ProjectController@showbilling')
     ->name('showbilling');
Route::post('{locale}/projects/{id}', 'ProjectController@addbilling')
     ->name('addbilling');

ProjectController.php

public function showbilling($id)
{
    $billings = Project::find($id);
    $locale = app()->getLocale();

    return $billings;
    //return view('admin.addbillings', compact('billings'));
}

Edit: Here's my full web.php

web.php

Route::get('/', function() {
    return redirect(app()->getLocale());
});



Route::group(['prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}'], 'middleware' => 'setlocale'], function () {

    Route::get('/', function () {

    return view('welcome');
    })->name('main');

    Auth::routes();

    Route::get('/home', 'HomeController@index')->name('home');

    //Customers
    Route::get('/customers', 'CustomerController@showcust')->name('customers');
    Route::post('/sendcust', 'CustomerController@sendcust')->name('sendcust');


    //Items
    Route::get('/items', 'ItemController@showitems')->name('items');
    Route::post('/senditem', 'ItemController@senditem')->name('senditem');

    //Projects
    Route::get('/projects', 'ProjectController@showprojects')->name('projects');
    Route::post('/sendproj', 'ProjectController@sendproj')->name('sendproj');
    //ProjectBillings
    Route::get('/projects/{id}/billings', 'ProjectController@showbilling')->name('showbilling');
    Route::post('/projects/{id}', 'ProjectController@addbilling')->name('addbilling');  

    //Invoices
    Route::get('/invoices', 'InvoiceController@showinvoice')->name('invoices');
    Route::post('/sendinvoitem', 'InvoiceController@sendinvoitem')->name('sendinvoitem');
    Route::get('/invoices/{id}/details', 'InvoiceController@showdetails');
    Route::post('/updateitem','InvoiceController@updatedetail')->name('updateitem');
    Route::get('invoices/{id}/generate', 'InvoiceController@generate');
    Route::post('/updatestatus', 'InvoiceController@changestatus')->name('updatestatus');

});

You are passing 2 params in your route but accepting only 1 in the controller. Add locale.

public function showbilling($locale, $id)