Store function not working. I'm trying to store services and send mail when I booking is created. But I always get this error message.
production.ERROR: The Response content must be a string or object implementing __toString(), "boolean" given.
If I add this to my store method:
$booking->services()->attach($request->session()->get('form.selectedServicesId'));
\Mail::to($request->session()->get('form.email'))
->cc('[email protected] ')
->bcc('[email protected] ')
->bcc('[email protected] ')
->send(new BookingConfirmed($booking));
dont think the error is in the code you show.
What happens at the end of the store method?
Here is the store method:
public function createBooking(Request $request)
{
if ($request->input('reference') === $request->session()->get('form.sessionKey')) {
$booking = Booking::create([
'carNumber' => $request->session()->get('form.carNumber'),
'carSize' => $request->session()->get('form.carSize'),
'carMake' => $request->session()->get('form.carMake'),
'carType' => $request->session()->get('form.carType'),
'carColor' => $request->session()->get('form.carColor'),
'name' => $request->session()->get('form.name'),
'socialId' => $request->session()->get('form.socialId'),
'email' => $request->session()->get('form.email'),
'phone' => $request->session()->get('form.phone'),
'dropOffDate' => $request->session()->get('form.dropOffDate'),
'dropOffTime' => $request->session()->get('form.dropOffTime'),
'pickUpDate' => $request->session()->get('form.pickUpDate'),
'pickUpTime' => $request->session()->get('form.pickUpTime'),
'flightNumber' => $request->session()->get('form.flightNumber'),
'numberOfDays' => $request->session()->get('form.numberOfDays'),
'priceForDays' => $request->session()->get('form.priceForDays'),
'paidPrice' => $request->session()->get('form.paidPrice'),
'korta_authcode' => $request->input('authcode')
]);
$booking->services()->attach($request->session()->get('form.selectedServicesId'));
\Mail::to($request->session()->get('form.email'))
->cc('[email protected] ')
->bcc('[email protected] ')
->bcc('[email protected] ')
->send(new BookingConfirmed($booking));
return redirect('/');
} else {
dd($request->all());
}
What's the rest of the error message - ie, where does the error occur?
by the way, you should find a way to not have data in your code. Those email addresses are data. If the client changes their email addresses you end up needing to change and commit new code and then publish it.
Better that either, they create a generic forwarding address, or you put the addresses in some database model that can be edited on-line.
This is the hole .log file: (I ssh into the server)
[2019-08-18 07:00:11] production.ERROR: The Response content must be a string or object implementing __toString(), "boolean" given. {"userId":1,"exception":"[object] (UnexpectedValueException(code: 0): The Response content must be a string or object implementing __toString(), \"boolean\" given. at /home/forge/parkandfly.is/vendor/symfony/http-foundation/Response.php:401)
[stacktrace]
#27 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#28 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#29 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#30 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#31 /home/forge/parkandfly.is/app/Http/Middleware/Cors.php(18): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#32 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): App\Http\Middleware\Cors->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#38 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#41 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#43 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#44 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#46 /home/forge/parkandfly.is/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#47 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#49 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#50 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#51 /home/forge/parkandfly.is/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#52 /home/forge/parkandfly.is/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#53 {main}
"}
@@@
Is the request actually coming from your own application, or from somewhere else? you're grabbing things from both request and session. Are you sure it's all actually there by dumping it and examining the data you're working with? What does $request->all() look like?
I'd start commenting out code until you narrow down where the error actually is coming from.
its as though your error handling is broken. Have you done something custom with error handling?
@snapey - No haven't done anything custom.
@cronix - I figured it out it was this:
$booking->services()->attach($request->session()->get('form.selectedServicesId'));
\Mail::to($request->session()->get('form.email'))
->cc('[email protected] ')
->bcc('[email protected] ')
->bcc('[email protected] ')
->send(new BookingConfirmed($booking));
There's 2 commands there. Which one causes it? The first one where you are attaching the record, or the 2nd one where you're sending an email?
Does this give you the value you're wanting?
$request->session()->get('form.selectedServicesId')
or this?
$request->session()->get('form.email')
This is what it returned:
"form" => Collection {#217 ▼
#items: array:19 [▼
"carNumber" => "pXT82"
"carSize" => "Fólksbíll"
"carMake" => "FIAT"
"carType" => "500X"
"carColor" => "Hvítur"
"name" => "Hjörtur Freyr Lárusson"
"socialId" => "1712992769"
"email" => "[email protected] "
"phone" => "8425759"
"dropOffDate" => "17/09/2019"
"dropOffTime" => "01:30"
"pickUpDate" => "30/09/2019"
"pickUpTime" => "01:15"
"flightNumber" => "FI123"
"numberOfDays" => 13
"priceForDays" => 6500
"paidPrice" => 27270
"selectedServicesId" => array:1 [▼
0 => 7
]
"sessionKey" => "nc8isjremtp82eo7mr9l3l"
]
}
That example looks like you just got form from session
Yes, I'm trying to attach the services to the booking. I have 3 tables, services, services_booking, booking. And I'm trying to add that into it :)
This is what it return if I only dump selectedServicesId :
array:1 [▼
0 => 7
]
ok. Do you get the error if you comment out the Mail lines?
It seems you are not supplying an email address to Mail::to(). You're sending an entire php class to it.
I figured it out, I had a didn't import this BookingConfirmed
But now I get this:
[2019-08-18 20:31:13] production.ERROR: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ')' (View: /home/forge/parkandfly.is/resources/views/emails/confirmed.blade.php) {"userId":3,"exception":"[object] (ErrorException(code: 0): syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ')' (View: /home/forge/parkandfly.is/resources/views/emails/confirmed.blade.php) at /home/forge/parkandfly.is/storage/framework/views/e05b41d641aba257e60a408d94aaf9e21b6ba479.php:138, Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ')' at /home/forge/parkandfly.is/storage/framework/views/e05b41d641aba257e60a408d94aaf9e21b6ba479.php:138)
[stacktrace]
And this happens when I trying to get services connected to a booking:
@forelse($booking->services as $service)
<li style="padding-top: 1.5rem;">{{ service->pivot->description }}</li>
@empty
<p>Enginn þjónusta keypt!</p>
@endforelse
missing $
{{ service->pivot->description }}
Please sign in or create an account to participate in this conversation.