Illuminate \ Database \ QueryException
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction (SQL: INSERT INTO actors (tmdb_id,name,image,temp_id,updated_at) VALUES (89521, George Nichols, https://image.tmdb.org/t/p/w342/ghGlmpjdUDRShrGZyG92sm3m5Hx.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(145109, Kate Bruce, https://image.tmdb.org/t/p/w342/9BKNhfTtvOtyiWIdp1rP6DJEO2y.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(29950, Robert Harron, https://image.tmdb.org/t/p/w342/xjGAfz41AKYZzMXpFYxyotp98yN.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(1171440, Florence La Badie, https://image.tmdb.org/t/p/w342/mM1Tlv1sqlctMNa1py4HgYvZeVR.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(1157995, Francis J. Grandon, https://image.tmdb.org/t/p/w342/dFummCUA17pUE42wVPD9d2PHesS.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(1044969, Edward Dillon, https://image.tmdb.org/t/p/w342/lRWa2M2guVQUo4GCMPComWsds79.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(1172579, Kate Toncray, https://image.tmdb.org/t/p/w342/8L2bpq8nJTM1asmbEESjFswf4nB.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(17753, Lionel Barrymore, https://image.tmdb.org/t/p/w342/j7UjmpRAZ7imblut0WHqjS13mmg.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(8829, Mae Marsh, https://image.tmdb.org/t/p/w342/1PDFSBQCwJ1yteuffEJgwSrAVra.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ,(100045, Blanche Sweet, https://image.tmdb.org/t/p/w342/xlcBzlENawXKPIQnpORlUCNkHmj.jpg, GlXpMlAp0SjJEhE, 2024-03-28 19:52:53) ON DUPLICATE KEY UPDATE tmdb_id = values(tmdb_id), name = values(name), image = values(image), temp_id = values(temp_id), updated_at = values(updated_at))
}
// If an exception occurs when attempting to run a query, we'll format the error
// message to include the bindings with SQL, which will make this exception a
// lot more helpful to the developer instead of just the database's errors.
catch (\Exception $e)
{
throw new QueryException($query, $this->prepareBindings($bindings), $e);
}
return $this->run($query, $bindings, function($me, $query, $bindings)
{
if ($me->pretending()) return true;
$bindings = $me->prepareBindings($bindings);
return $me->getPdo()->prepare($query)->execute($bindings);
});
}
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public function __call($method, $parameters)
{
return call_user_func_array(array($this->connection(), $method), $parameters);
}
case 0:
return $instance->$method();
case 1:
return $instance->$method($args[0]);
case 2:
return $instance->$method($args[0], $args[1]);
case 3:
case 0:
return $instance->$method();
case 1:
return $instance->$method($args[0]);
case 2:
return $instance->$method($args[0], $args[1]);
case 3:
*
* @return void
*/
public function save()
{
if ($this->query && $this->values)
{
return DB::statement($this->query, array_values($this->values));
}
}
*
* @return void
*/
public function save()
{
if ($this->query && $this->values)
{
return DB::statement($this->query, array_values($this->values));
}
}
{
//save actor images locally or hotlink depending on provider.
if ($this->provider->name == 'imdb' || $this->options->saveTmdbImages())
{
$actors = $this->saveImdbCastImages($actors);
}
$this->compileBatchInsert('actors', $actors)->save();
//grab temp id from first actor in array
{
//pass in temp id into array so we can get back actors/chars ids in db after batch insert
$actors[] = array_merge(array_except($v, 'char'), array('temp_id' => $this->tempId, 'updated_at' => $this->date));
$actorsChars[$v['name']] = $v['char'];
}
//save actors/chars and fetch their ids in database
$actorsIds = $this->saveActors($actors);
//compile an array of actor and char ids from db
if ($this->provider->getType() == 'series') {
$this->saveAllSeasons($this->titleId);
}
$this->saveGenInfo();
$this->saveImages();
$this->saveCast();
$this->saveDirectors();
$this->saveWriters();
{
if ($provider && $id)
{
$str = str_random(15);
$this->dbWriter->setProvider($provider, $id)
->setFlags( array('fully_scraped' => 1, 'temp_id' => $str) )
->saveAll();
//we'll load title by temp id incase something gets
{
$provider = $this->provider->getFullTitle($title);
$this->updateReviews($title);
Event::fire('Titles.FullyScraped', array($provider, Carbon::now()));
return $this->saveAndReturn($provider, $title->id);
}
{
$title = $this->repo->byUri($id);
if (isset($_REQUEST['ap'])) {
$title['autoplay']=1;
}
if (!$title->id || $this->repo->needsScraping($title)) {
$title = $this->repo->getCompleteTitle($title);
}
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
$this->setupLayout();
$response = call_user_func_array(array($this, $method), $parameters);
// If no response is returned from the controller action and a layout is being
* @param string $method
* @return mixed
*/
protected function call($instance, $route, $method)
{
$parameters = $route->parametersWithoutNulls();
return $instance->callAction($method, $parameters);
}
$response = $this->before($instance, $route, $request, $method);
// If no before filters returned a response we'll call the method on the controller
// to get the response to be returned to the router. We will then return it back
// out for processing by this router and the after filters can be called then.
if (is_null($response))
{
$response = $this->call($instance, $route, $method);
}
$request = $me->getCurrentRequest();
// Now we can split the controller and method out of the action string so that we
// can call them appropriately on the class. This controller and method are in
// in the Class@method format and we need to explode them out then use them.
list($class, $method) = explode('@', $controller);
return $d->dispatch($route, $request, $class, $method);
};
}
*
* @return mixed
*/
public function run()
{
$parameters = array_filter($this->parameters(), function($p) { return isset($p); });
return call_user_func_array($this->action['uses'], $parameters);
}
// Once we have successfully matched the incoming request to a given route we
// can call the before filters on that route. This works similar to global
// filters in that if a response is returned we will not call the route.
$response = $this->callRouteBefore($route, $request);
if (is_null($response))
{
$response = $route->run($request);
}
// If no response was returned from the before filter, we will call the proper
// route instance to get the response. If no route is found a response will
// still get returned based on why no routes were found for this request.
$response = $this->callFilter('before', $request);
if (is_null($response))
{
$response = $this->dispatchToRoute($request);
}
}
if ($this->runningUnitTests() && ! $this['session']->isStarted())
{
$this['session']->start();
}
return $this['router']->dispatch($this->prepareRequest($request));
}
{
try
{
$this->refreshRequest($request = Request::createFromBase($request));
$this->boot();
return $this->dispatch($request);
}
catch (\Exception $e)
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
if ($this->sessionConfigured())
{
$session = $this->startSession($request);
$request->setSession($session);
}
$response = $this->app->handle($request, $type, $catch);
// Again, if the session has been configured we will need to close out the session
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
foreach ($this->cookies->getQueuedCookies() as $cookie)
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
}
{
$this->app = $app;
$this->middlewares = $middlewares;
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
return $this->app->handle($request, $type, $catch);
}
* @param \Symfony\Component\HttpFoundation\Request $request
* @return void
*/
public function run(SymfonyRequest $request = null)
{
$request = $request ?: $this['request'];
$response = with($stack = $this->getStackedClient())->handle($request);
$response->send();
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/
$app->run();