Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 4 » Новичок » 14.02.2014 13:27:25

Slava_Goor пишет:

Всем привет=)) Я новичок в Laravel Только сегодня скачал библиотеку Что делать дальше ? С чего начинать ? Обьесните плиз=)) Желательно на пальцах=))

Ознакомься с документацией и вот с этой статьей

Статья на Habrahabr

#2 Веб-разработка » Создание шаблонов для сайта » 29.01.2014 22:29:51

CBETOBuT
Ответов: 4

Доброго времени суток!
А можно ли к Laravel прикрутить свой нарисованный шаблон(допустим ипсользуя photoshop или artisteer или др. софт) и как это осуществить?

#3 Прочее » С наступающем Новым годом! » 31.12.2013 15:45:59

CBETOBuT
Ответов: 3

Дорогие комрады!
С наступающим Вас новым годом, счастья и трудовых успехов в программированнии !
Всего наилучшего и больше энтузиазма в работе!
65a3f2199c04.jpg

#4 Re: Laravel 4 » [L3/L4] Установка фреймворка и связанные с этим трудности » 27.12.2013 11:57:30

CBETOBuT пишет:

Я нашел в чем моет быть проблема
У меня в проекте установлен Profiler

В папке app/config я закоментил алиас и провадер для Profiler
Но по прежнему у меня ничего не отображается, как мне решить данную проблему?

 

Решил просто, все переустановивил и залил по новой проект, предварительно удалив расширения  который больше не поддерживаются в laravel 4.1

#5 Re: Laravel 4 » [L4] перезапись кэша » 27.12.2013 11:53:58

Отвечу на свои два вопроса сам

        $input = Input::all(); 
        $validation = Validator::make($input,Configs::$rules);
        if ($validation->passes()){ 
            foreach($input as $key=>$value){  // здесь мы перебираем массив input на ключ-значение и просто update'им в цикле
            DB::table('config')
             ->where('key', $key)
             ->update(array('value' => $value
                            ));
        }
               Cache::forget('DoncodeConfig'); // чтбы перезаписать кэш, для начала его удалим, а потом снова запишем получившееся данные
               $config = Configs::all();
               Cache::put('DoncodeConfig',$config, 1440);
               
               return Redirect::to('settings')->with('message', 'Данные успешно записаны') ;
              }
              else {
                return Redirect::to('settings')->withErrors($validation);
          }

#6 Re: Laravel 4 » Мультисайт на laravel » 24.12.2013 09:59:09

Смею предположить что наврятли

Но возможен такой вариант, чтоб использовать один фреймворк для сайтов можно настроить несколько сред
Настройка среды

Еще можно посмотреть здесь
http://chrishayes.ca/blog/code/laravel- … figuration

И от того  как назовете среду то будет у вас что то наподобие того
www.mysite.environment.*

Иными словами возможно реализовать сайты на домене 2 го уровня

#7 Re: Laravel 4 » Разделенная авторизация laravel 4 » 22.12.2013 00:40:15

Настоятельно рекомендую от слухам переходить к документации))

А про механизм авторизации можно прочитать и здесь Расширение фреймворка

#8 Re: Laravel 4 » [L3/L4] Установка фреймворка и связанные с этим трудности » 19.12.2013 13:31:20

Я нашел в чем моет быть проблема
У меня в проекте установлен Profiler

В папке app/config я закоментил алиас и провадер для Profiler
Но по прежнему у меня ничего не отображается, как мне решить данную проблему?

#9 Re: Laravel 4 » [L3/L4] Установка фреймворка и связанные с этим трудности » 18.12.2013 18:49:32

Добрый день!
Нужна ваша помощь!

После обновления до версии 4.1.8 у меня появились вместо проекта пустые страницы, делал согласно данной инструкции Upgrading To 4.1 From 4.0

#10 Re: Laravel 4 » [L4] перезапись кэша » 18.12.2013 11:51:54

я не думаю так.
Дело в том что "asterisk_main_context", 'tooltip' и другие переменные я получаю из Input.
Эти переменные по любому будут приходить ко мне, т.к. они завязаны с формой

В документации есть отличный пример с insert-ом

DB::table('users')->insert(array(
    array('email' => 'taylor@example.com', 'votes' => 0),
    array('email' => 'dayle@example.com', 'votes' => 0),
));

я думал также сделать и с методом update

а вообще есть ли примеры update сразу нескольких строк?

#11 Re: Laravel 4 » [L4] перезапись кэша » 18.12.2013 11:06:28

И можно еще спросить дабы не плодить лишние темы, в $input = Input::all(); у меня храниться массив переменных которых необходимо занести в БД методом update

Я выполняю это так

             if(Input::has('asterisk_main_context')){
               $this->Configs->where('key','=','asterisk_main_context')
               ->update(array('value' => $asterisk_main_context))->get();
            }

              ...
            if(Input::has('tooltip')) {
                         $this->Configs
                             ->where('key','=','tooltip')
                             ->update(array('value' => $tooltip ));
            }


как в моем случае можно оптимизировать update чтобы не плодить запросы к бд а уместить в один запрос?

#12 Re: Laravel 4 » [L4] перезапись кэша » 18.12.2013 10:58:37

у меня есть БД config откуда данные кэшируются
по идеи если все удачно, то данные полученные в методе store должны попасть в эту бд, а они не попадают( мистическим образом)

Я создал бд config1 и данные туда успешно записывались
По этому даже не знаю что я не так делаю(

#13 Laravel 4 » [L4] перезапись кэша » 17.12.2013 20:00:36

CBETOBuT
Ответов: 8

У меня есть фильтр

App::before(function($request)
{

    if(!Cache::has('DoncodeConfig')){
        $config = Configs::all();
        Cache::put('DoncodeConfig',$config, 1440);
    }else{
        $config = Cache::get('DoncodeConfig');
    }

    foreach ($config as  $value) {
        Config::set('doncode.'.$value->key, $value->value);
    }
    #
});

Я создал метод контроллера store:

public function store()
    {
$input = Input::all();
        $asterisk_main_context= $input['asterisk_main_context'];
         ...
        $tooltip = $input['tooltip'];

        $validation = Validator::make($input, Configs::$rules);

        if ($validation->passes()) {
            if(Input::has('asterisk_main_context')){
               $this->Configswhere('key','=','asterisk_main_context')->update(array('value' => $asterisk_main_context))->get();
            }

              ...
            if(Input::has('tooltip')) {
                         $this->Configs
                             ->where('key','=','tooltip')
                             ->update(array('value' => $tooltip ));
            }

            
            return Redirect::to('settings');
        }
        else {
            return Redirect::to('settings')->withErrors($validation);
        }
   }

как мне после выполнения store перезаписать кэш?
Побывал так:

 
  // app/controllers/SettingsController.php
public function store()
    {
$input = Input::all();
        $asterisk_main_context= $input['asterisk_main_context'];
         ...
        $tooltip = $input['tooltip'];

        $validation = Validator::make($input, Configs::$rules);

        if ($validation->passes()) {
            if(Input::has('asterisk_main_context')){
               $this->Configswhere('key','=','asterisk_main_context')->update(array('value' => $asterisk_main_context))->get();
            }

              ...
            if(Input::has('tooltip')) {
                         $this->Configs
                             ->where('key','=','tooltip')
                             ->update(array('value' => $tooltip ));
            }

           $config = Configs::all();
           Cache::put('DoncodeConfig',$config, 1440);
            
return Redirect::to('settings');
        }
        else {
            return Redirect::to('settings')->withErrors($validation);
        }
   }

Так к сожалению не получается, подскажите пожалуйста как решить задачу?

#14 Laravel 4 » [L4] Получение всех переменных запроса » 17.12.2013 16:46:39

CBETOBuT
Ответов: 1

Доброго времени суток!
Подскажите пожалуйста , я хочу понять как правильно пользоваться методом Input::all();

У меня есть метод контроллера

 public function store()
    {
        $input = Input::all();

        $asterisk_main_context= Input::get('asterisk_main_context');
        $asterisk_col_digits= Input::get('asterisk_col_digits');
        $asterisk_recall_context= Input::get('asterisk_recall_context');
        $asterisk_robo_context= Input::get('asterisk_robo_context');
        $asterisk_car_time_limit= Input::get('asterisk_car_time_limit');
if(Input::has('asterisk_main_context')){
                 DB::table('config1')
                     ->where('key','=','asterisk_main_context')
                     ->update(array(
                     'value' => $asterisk_main_context
                     ));
        }

         if(Input::has('asterisk_col_digits'))
         {
             DB::table('config1')
                 ->where('key','=','asterisk_col_digits')
                 ->update(array('value' => $asterisk_col_digits));

         }

        if( Input::has('taxi_name') && isset($input)) {
             DB::table('config1')
                 ->where('key','=','taxi_name')
                 ->update(array('value' => $taxi_name));
        }
        if(Input::has('asterisk_recall_context')) {
             DB::table('config1')
                 ->where('key','=','asterisk_recall_context')
                 ->update(array('value' => $asterisk_recall_context));
        }
        if(Input::has('asterisk_robo_context')) {
             DB::table('config1')
                 ->where('id',11)
                 ->update(array('value' => $asterisk_robo_context));
        }
        if(Input::has('asterisk_car_time_limit')) {
             DB::table('config1')
                 ->where('id',11)
                 ->update(array('value' => $asterisk_car_time_limit));
        }
        if(Input::has('asterisk_car_time_limit')) {
             DB::table('config1')
                 ->where('id',11)
                 ->update(array('value' => $asterisk_car_time_limit));
        }


        return Redirect::action('SettingsController@index');


   }

Ознакомившись со статьей Запросы и ввод мне хочеться понять, как правильно использовать Input::all() чтобы каждый раз не объявлять переменную с методом Input::get?

#15 Веб-разработка » Размещение проекта на хостинге » 09.12.2013 16:11:58

CBETOBuT
Ответов: 1

Добрый день
подскажите как правильно разместить сайт, написанный на laravel 4 на хостинге?
Ведь насколько я понимаю необходимо проект всегда запускать командой

php artisan serve

#16 Re: Laravel 4 » Laravel 4 и Twitter bootstrap » 09.12.2013 16:03:55

sumrok пишет:

В общем есть нужда использовать Twitter bootstrap в своих проектах. Хотелось бы узнать как грамотно подключить bootstrap к laravel 4. Читал, что в laravel 3 использовался bundle bootstrapper, но в 4 версии при попытке установить данный бандл ругается, что в namespace bundle нет комманд.

А если еще будут вопросы то можно посмотреть тут

#17 Laravel 4 » [L4] Выбор нескольких параметров из Eloquent запроса » 09.12.2013 15:57:26

CBETOBuT
Ответов: 1

Добрый день!
Подскажите пожалуйста как мне корректно сделать?
У меня есть модель Configurations и обращается она к таблице  conf

В этой таблице есть поле "value" из которого мне нужно вытащит несколько значений

Я нашел выход следующим способом

 $taxicountry =  Configurations::where('key','=','taxi_country')
          ->get();
      foreach($taxicountry as $k){
          $taxi_country= $k->value.'</br>';
      }
      $taxicity =  Configurations::where('key','=','taxi_city')
          ->get();
      foreach($taxicity as $k){
          $taxi_city= $k->value.'</br>';
      }
      $taxiname =  Configurations::where('key','=','taxi_name')
          ->get();
      foreach($taxiname as $k){
          $taxi_name= $k->value.'</br>';
      }

Но я тут несколько раз обращаюсь к модели, и соответственно идет 3 запроса к БД - по моему это не корректно, как мне оптимизировать запрос?

#18 Re: Laravel 4 » Laravel Denwer » 08.12.2013 21:48:28

medar пишет:

Laravel не подходит Денверу, так как у последнего нельзя указать document root на произвольную папку, в случае Laravel - на папку public. У Денвера все железно должно быть в www и индивидуально никак не поменять (кроме как залезть в шаблон конфига Апача и добавить нужный VirtualHost)

Переходите с Денвера на Open Server (http://open-server.ru/) или другую сборку. WampServer может быть неудобен тем, что там нельзя создать виртуальный домен, нужно все держать в папках на http://localhost . Но, возможно, я ошибаюсь, и это уже поправили.


Встроенными методами сделать виртуальный хост нельзя, но можно чучуть отредактировать)

#19 Re: Laravel 4 » Laravel Denwer » 08.12.2013 15:36:53

1. Тебе необходимо запустит комнадную строку от имени администратора и пройти в папку где распокан у тебя Laravel
В  моем случае

cd C:\wamp\www\laravel

далее тебе необходимо выполнить следующую команду

 php artisan serve

Если все хорошо то появиться строка

Laravel development server started on http://localhost:8000

2. Можешь перейти на   http://localhost:8000 и увидеть
03f6a4b69dd9t.jpg

А лучше воспользовать отличной статьей форума и установить WampServer

p.s.а еще лучше отказаться от Windows и перейти на Linux!!

#20 Re: Laravel 4 » [L4] Fluent запрос » 03.12.2013 16:10:52

Спасибо
Методом научного тыка сам дошел, но всеравно за ответ спасибо!))

#21 Re: Laravel 4 » [L4] Fluent запрос » 03.12.2013 14:50:47

Fluent запрос корректен, у меня какимто боком пустая страница, не понятно почему

#22 Re: Laravel 4 » [L4] Fluent запрос » 03.12.2013 14:22:49

Profiler показывает что данные из бд получаю

array(20) { [0]=> object(stdClass)#1126 (9) { ["id"]=> string(3) "108" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 11:07:58" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›аЕаНаИаНаА, 25" ["adres2"]=> string(0) "" ["comm"]=> string(0) "" ["parkid"]=> string(1) "0" ["distance"]=> string(1) "0" ["cost"]=> string(1) "0" } [1]=> object(stdClass)#1127 (9) { ["id"]=> string(3) "105" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 10:52:07" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›аЕаНаИаНаА, 25" ["adres2"]=> string(0) "" ["comm"]=> string(0) "" ["parkid"]=> string(1) "0" ["distance"]=> string(1) "0" ["cost"]=> string(1) "0" } [2]=> object(stdClass)#1128 (9) { ["id"]=> string(3) "104" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 10:48:31" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›а 

.....

Но почему не выводятся они загадка
dd($parkings->get());  - пустая страница( также шаблоны не загружает)

#23 Laravel 4 » [L4] Fluent запрос » 03.12.2013 13:13:03

CBETOBuT
Ответов: 5

Добры день форумчане
Ситуация следующая

Требуеться перенести php запрос к бд
Вот запрос

$result 	= db_query("SELECT orders.id, clients.phone, orders.createtime, client_adres.adres, client_adres.adres2, client_adres.comm, orders.parkid, orders.distance, orders.cost FROM  `clients`, `orders`, `client_adres` WHERE orders.status=0 AND clients.id=orders.clientid AND orders.adresid=client_adres.id ORDER BY orders.id DESC");
$orders_radio 	= db_fetch($result);

правильно ли я сотсавляю запрос во fluent?

 $Parkings = DB::table('clients')
            ->join('orders','orders.clientid','=','clients.id')
            ->join('client_adres','client_adres.id','=','orders.adresid')
            ->select('orders.id', 'clients.phone', 'orders.createtime', 'client_adres.adres', 'client_adres.adres2', 'client_adres.comm', 'orders.parkid', 'orders.distance', 'orders.cost')
            ->where('orders.status','=',0)
            ->orderBy('orders.id', 'DESC')
            ->get();

Но у меня на странице parking почемуто пустая белая страница(хотя задан шаблон!), хотя если делать запрос в MySQL, то выдает таблицу с данными ,почему?

@section('content')

@if ($parkings->count())
<table class="table table-striped table-bordered">
    <thead>
    <tr>
        <th>ID</th>
        <th>Телефон</th>
        <th>Дата создания</th>
        <th>Адрес</th>

    </tr>
    </thead>

    <tbody>
    @foreach ($parkings as $parking)
    <tr>
        <td>{{{ $parking->id }}}</td>
        <td>{{{ $parking->phone }}}</td>
        <td>{{{ $parking->createtime }}}</td>
        <td>{{{ $parking->adres }}}</td>

    </tr>
    @endforeach
    </tbody>
</table>
@else

@endif

@stop

#24 Re: Веб-разработка » Обновление данных на странице (AJAX) » 03.12.2013 12:38:33

А более корректно будет так.

Я к примеру использую blade шаблон
И соотвественно создал фаил ajaxform.blade.php в views/Chats

@foreach ($Chats as $Chat)
<tr>
    <td><span class="label label-warning">{{{ date(" d.m",$Chat ->time)}}}</span>{{{date(" H:i:s",$Chat ->time) }}}</td>
    <td>{{{ $Chat->ch }}} - {{{ $Chat->poz }}}</td>
    <td>
        @if ($Chat->private)
        {{  ($Chat->message)  }} <span class="label  label-danger">Приват</span>
        @else
        {{ ($Chat->message)}}
        @endif
    </td>
</tr>

@endforeach

Далее в index.blade.php я с помошью шаблона blade вывел действия своего кода, предварительно создав ajax запрос

@section('scripts')
<script type="text/javascript" src="jquery.js"></script>
<script>
    function show() {
        var url = $(this).attr('action');
        $.ajax({
            url:url,
            dataType:'html',
            data: {ajax:true},
            type:'GET',
            success:function(html){
                $('#from_ajax').html(html);
            }
        });
    }
    setInterval(show , 5000)
</script>
@stop

а в самом шаблоне вывел с помощью @include

@include('Chats.ajaxform', array('Chats'=>$Chats))

#25 Re: Веб-разработка » Обновление данных на странице (AJAX) » 25.11.2013 16:31:22

спасибо за разяснение
но всеравно у меня не получаеться

верно ли я понимаю суть работы контроллеров laravel 4

я создал  ChatsController@index котороый мне выводит страницу /chats

public function index()
	{
	    $Chats = $this->Chat->orderBy('time', 'desc')->paginate(18);
		 Profiler::disable();
		return View::make('Chats.index', compact('Chats'));
		 
		
	}

далее метод store отвечающий за сбор данных из формы

	public function store()
	{
		$MSG = Input::get('MSG');  
	    $user = Auth::user()->username;
		if(Input::has('MSG'))
		{
		$this->Chat->insert(array(
		'ch' => 0,
		'poz'=> 0,
		'time'=> time(),
		'message'=>   " <От: $user> "." ".$MSG,
		'private'=> 0
		));
		} 
		return Redirect::route('info.chats.index');
	}

я просто не понимаю что мне загружать ajax запросом ( в парметр sucsees что нужно вставить?)?
могли бы пример с laravel 4 показать ?
у меня задача реализовать чат

Подвал раздела