Laravel Relationship Search

Solution:

You may use whereHas method which allow to define additional query constraints on your relation. E.g:

$searchText = $request->searchText;
if ( explode( '.', $request->searchColumn )[0] == 'customer' ) {
    $query->whereHas( 'customer', function( $query ) use ( $searchText ) {
         $query->where( 'name', 'LIKE', '%' . $searchText . '%' )
    });
}