Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Доброго времени всем!
Использую версию 5.2
При попытке вывести любую из переменных ( $pages, $portfolios, $services, $peoples , $menu ) через helper 'dd' появляется "ErrorException in VarCloner.php line 298: A non well formed numeric value encountered"
Предполагаю, что это как -то связано со временем. Поля 'created_at' и 'updated_at' созданы с типом 'timestamp', по умолчанию Null и заполнены вставленными датами.
Index.Controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Page;
use App\Service;
use App\Portfolio;
use App\People;
class IndexController extends Controller
{
//
public function execute(Request $request) {
$pages = Page::all();
$portfolios = Portfolio::get(array('name','filter','images'));
$services = Service::where('id','<',20)->get();
$peoples = People::take(3)->get();
/* $menu = array();
foreach($pages as $page) {
$item = array('title' =>$page->name,'alias'=>$page->alias);
array_push($menu,$item);
}*/
dd($pages);
return view('layouts.site');
//return view('site.index');
}
}
Миграция table_pages
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTablePages extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pages', function (Blueprint $table) {
$table->increments('id');
$table->string('name',100);
$table->string('alias',100);
$table->text('text');
$table->string('images',100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('pages');
}
}
Изменено SilverSky (13.05.2019 21:35:27)
Не в сети
Но проблема решилась переключением версий php c 7.1 * 64 на 7.0 64. МуSQL остался тот же 5.5.64
С чем связаны эти изменения?
Цитата из оф документации ист. https://php.net/manual/ru/migration71.other-changes.php
Новые ошибки уровней E_WARNING и E_NOTICE были добавлены при использовании некорректных строк с операторами, ожидающими числа (+ - * / ** % << >> | & ^) и их эквивалентами с присваиванием. Ошибка уровня E_NOTICE выдается, когда строка начинается с цифр, но далее содержит не цифровые символы, и ошибка уровня E_WARNING выдается тогда, когда строка вообще не содержит цифр.
Как решить эту ошибку используя php 7.1 ?
Изменено SilverSky (13.05.2019 22:29:51)
Не в сети
Как решить эту ошибку используя php 7.1 ?
Разобраться, почему в переменной не тот формат данных, который нужен. Скорее всего там, как и написано, не число, а временное представление типа "2019-06-01T...". Можно попробовать их посмотреть через отладчик, а не через dd(), или через var_dump(). Еще можно отключить error_reporting() для E_WARNING и/или E_NOTICE, но это очень плохой путь - разве что для отладки.
Не в сети