Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
При остутствии страницы(например, в блоге 20 страниц, а запрашивается 21ая) нужно заменить соощение ModelNotFoundException своим произвольным. В контроллере:
public function getPost($id)
<code>
{
$id = (int)$id;
$post = Post::get($id);
if ($post instanceof Exception)
{return 'error';}
else
{return view('showPost')->with('post',$post);
}
</code>
В модели:
<code>
public static function get($id)
{
try{
$post = Post::where('id', '=', $id )-> firstOrFail();
return $post;
}
catch (Exception $e)
{
return $e;
}
}
</code>
Однако замены на своё сообщение не происходит, остаётся стандартная надпись:
ModelNotFoundException in Builder.php line 151:
No query results for model [App\Post].
В чем проблема?
Извиняюсь, все работает, нужно просто учесть регистр класса. Правильно:
<code> {!! Html::style('css/main.css') !!} </code>
В composer.json добавил в раздел "require":
<code>"illuminate/html": "5.*"</code>
Запустил composer update. Illuminate/html установился
Далее, делаю все как пишут:
добавляю в app.php
<code> 'Illuminate\Html\HtmlServiceProvider', </code>
в массив 'providers'
<code>
'Html' => 'Illuminate\Html\HtmlFacade',
'Form' => 'Illuminate\Html\FormFacade',
</code>
в массив 'aliases'
В шаблоне blade подключаю стиль:
{!! HTML::style('css/main.css') !!}
Однако, класс HTML не найден. Подскажите, в чем проблема?
Уфф спасибо. Однако, плюс ко всему класс нашей новой модели должен расширять класс Model, а не Eloquent. Только так сработало)
Вопрос аналогичный вышеупомянутому. composer dump-autoload сделал, теперь класс PostsSeeder вроде как видит. Однако теперь при команде php artisan db:seed - класс Post не найден
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class PostsSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$faker = Faker\factory::create();
Post::create(
[
'title'=>$faker->sentence(2),
'body'=>$faker->paragraph(20),
'author'=>$faker->name
]
);
}
}
Как быть теперь? Модель Post.php создана композером.
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Eloquent {
}
Страницы 1