2015-11-16 4 views
2

Я новичок в php особенно laravel framework. может кто-то помочь мне решить его? Я не знаю, как извлекать данные из базы данных, используя php: laravel framework.Как получить данные с помощью laravel

profile.blade.php файл

<!doctype html> 
<html> 


<head> 
    <title>Student Profile</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <style> 

     div{ 
      background-color:lightcyan; 
      margin-left: 180px; 
      margin-right: 180px; 
      margin-bottom: 10px; 
      background-repeat: no-repeat; 
      position:inherit; 
      padding:2px; 
      font-size: 14px; 
     } 

     body{ 
      margin-top: 5px; 
      margin-bottom: 5px; 
      background-image:url("image/bg.jpg"); 
      background-repeat: no-repeat; 
      background-attachment: fixed; 
     } 


     h1 { 
      font-family: "Georgia", Times, serif; 
      font-size: 42px; 
      color: firebrick; 
      text-indent: 12%; 
     } 

     table, th, td { 
      border: 1px solid lightcoral; 
      text-transform: uppercase; 
      text-align: left; 
     } 

     .header { 
      background-color: lightcoral; 
      width: 15%; 
     } 
     footer{ 
      background-color: black; 
      color: white; 
      font-weight: bold; 
      padding: 10px; 
      text-align: center; 
     } 
     #navbar { 
      width:100%; 
      margin-left:-2px; 
      height:40px; 
      background-color:rosybrown; 
     } 

     #navbar ul { 
      width:100%; 
      margin:0 auto 0 auto; 
     } 

     #navbar ul li { 
      float:left; 
      color:black; 
      padding:0 20px 0 20px; 
      font-size: 14px; 
      font-weight: bold; 
      height:40px; 
      display:block; 
      line-height:40px; 
      text-align:center; 
      cursor:pointer; 
     } 

     #navbar ul li:hover { 
      background-color:#CCC; 
     } 
     li{ 
      text-transform: capitalize; 
     } 
    </style> 
</head> 


<body> 
<div> 

<h1>GUARDIAN PORTAL</h1><br> 
<div id="navbar"> 

    <ul> 
     <li>Home</li> 
     <li>Student profile</li> 
     <li>Exam result</li> 
     <li>academic supervisor/Advisor</li> 
     <li>change password</li> 
     <li>contact us</li> 
     <li>logout</li> 
    </ul> 

</div> 

    <fieldset> 
     <legend align="center"><b><font color="red">Student Profile</font></b></legend> 
     <table width="100%"> 

      <tr> 
       <td class="header">student id</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header"> name</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">ic no</td> 
       <td ></td> 
      </tr> 
      <tr> 
       <td class="header">programme</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">semester</td> 
       <td></td> 
      </tr> 

      <tr> 
       <td class="header">faculty</td> 
       <td></td> 
      </tr> 

     </table> 
     <table width="100%"> 
      <tr> 
       <td class="header" width="15%">tel no</td> 
       <td width="35%"></td> 
       <td class="header" width="15%">email</td> 
       <td width="35%"></td> 
      </tr> 
      <tr> 
       <td class="header">race</td> 
       <td></td> 
       <td class="header">religion</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">gender</td> 
       <td></td> 
       <td class="header">marital status</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header" width="15%">college name</td> 
       <td width="35%"></td> 
       <td class="header" width="15%">college no</td> 
       <td width="35%"></td> 
      </tr> 
     </table> 
     <table width="100%"> 
      <tr> 
       <td class="header"><b>status</b></td> 
       <td width="85%"></td> 
      </tr> 
     </table> 
     <table width="100%"> 
      <td colspan="2" align="center"><b>permanent address</b></td> 
      <td colspan="2" align="center"><b>current address</b></td> 
      </tr> 
      <tr> 
       <td class="header" width="5%">address</td> 
       <td width="35%"></td> 
       <td class="header" width="5%">address</td> 
       <td width="35%"></td> 
      </tr> 
      <tr> 
       <td class="header">city</td> 
       <td></td> 
       <td class="header">city</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">state</td> 
       <td></td> 
       <td class="header">state</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">postcode</td> 
       <td></td> 
       <td class="header">postcode</td> 
       <td></td> 
      </tr> 
      <tr> 
       <td class="header">country</td> 
       <td></td> 
       <td class="header">country</td> 
       <td></td> 
      </tr> 
     </table> 
    </fieldset> 
    </div> 
</body> 
</html> 

studentcontroller.php

public function index() 
    { 
     $table = DB::table('student')->get(); 

     return view('profile', ['student_id' => $table]); 
    } 

route.php

Route::get('student', array('as'=>'student', 'uses'=>'studentcontroller')); 

база данных: student.php

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations 
\Migration; 

class Student extends Migration { 

    public function up() 
    { 
     Schema::create('student', 
      function(Blueprint $table) 
      { 
       $table->string('student_id'); 
       $table->string('student_name'); 
       $table->string('student_ic'); 
       $table->string('program'); 
       $table->string('semester'); 
       $table->string('faculty'); 
       $table->string('student_tel_no'); 
       $table->string('student_email'); 
       $table->string('student_marital_status'); 
       $table->string('student_religion'); 
       $table->string('student_race'); 
       $table->string('student_gender'); 
       $table->string('college_name'); 
       $table->string('college_no'); 
       $table->string('status'); 
       $table->string('p_address'); 
       $table->string('p_city'); 
       $table->string('p_state'); 
       $table->string('p_postcode'); 
       $table->string('p_country'); 
       $table->string('c_address'); 
       $table->string('c_city'); 
       $table->string('c_state'); 
       $table->string('c_postcode'); 
       $table->string('c_country'); 
       }); 
     DB::table('student')->insert(array(

     'student_id'=>'uk27721', 

     'student_name'=>'sumaliza ismail', 

     'student_ic'=>'123456789012', 

     'program'=>'program', 
     'semester'=>'1', 

     'faculty'=>'faculty', 

     'student_tel_no'=>'1', 

     'student_email'=>'email', 

     'student_marital_status'=>'status', 

     'student_religion'=>'student_religion', 

     'student_race'=>'student_race', 

     'student_gender'=>'student_gender', 

     'college_name'=>'college_name', 

     'college_no'=>'college_no', 

     'status'=>'status', 

     'p_address'=>'p_address', 

     'p_city'=>'p_city', 

     'p_state'=>'p_state', 

     'p_postcode'=>'p_postcode', 

     'p_country'=>'p_country', 

     'c_address'=>'c_address', 

     'c_city'=>'c_city', 

     'c_state'=>'c_state', 

     'c_postcode'=>'c_postcode', 

     'c_country'=>'c_country' 
    )); 
     DB::table('student')->insert(array(

     'student_id'=>'uk27771', 

     'student_name'=>'sumaliza ismail', 

     'student_ic'=>456543456456, 

     'program'=>'program', 
     'semester'=>'1', 

     'faculty'=>'faculty', 

     'student_tel_no'=>'1', 

     'student_email'=>'email', 

     'student_marital_status'=>'status', 

     'student_religion'=>'student_religion', 

     'student_race'=>'student_race', 

     'student_gender'=>'student_gender', 

     'college_name'=>'college_name', 

     'college_no'=>'college_no', 

     'status'=>'status', 

     'p_address'=>'p_address', 

     'p_city'=>'p_city', 

     'p_state'=>'p_state', 

     'p_postcode'=>'p_postcode', 

     'p_country'=>'p_country', 

     'c_address'=>'c_address', 

     'c_city'=>'c_city', 

     'c_state'=>'c_state', 

     'c_postcode'=>'c_postcode', 

     'c_country'=>'c_country' 
    )); 


    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('student'); 
    } 

} 
+1

Вам нужно включить отладку в Laravel, чтобы узнать, что это за ошибка. Вот как это делается: http://laravel.com/docs/5.1/errors#configuration – Andrius

+0

Почему вы не используете посев? – madforstrength

+0

@madforstrength я попытался использовать его, но он сказал, исключение недопустимого аргумента –

ответ

1

По вашему мнению вы ВГА сделать следующее

@foreach($student_id as $student) 
<p> {{ $student->name }} </p> 
@endforeach 

имя свойства вашей таблицы в базе данных Это если вы используете лезвие двигатель еще использовать обычные PHP теги

, а затем в ваш маршрут, вы должны сказать, какой метод в контроллере вы хотите использовать, хотя ваша функция называется индексом, это хорошая оценка, чтобы указать функцию на вашем маршруте. Для того, чтобы иметь хороший код strutuce помнить, что классы всегда начинаются с заглавной буквой

Я настоятельно рекомендую вам использовать красноречивыми вместо конструктора запросов

+0

Это не сработает, так как построитель запросов возвращает массив массивов, поэтому скорее '$ student ['name']' :) – Phroggyy

+1

@Phroggyy no it dont возвращает массив, см. Этот http://laravel.com/docs/ 5.1/queries – Anoxy

+0

А, мои извинения! Память служила мне неправильно там – Phroggyy

0

Прежде всего, я бы порекомендовал вам просматривать Laravel 5 Fundamentals, чтобы узнать немного о структуре. Теперь несколько вещей.

  1. В Laravel, при написании миграций, не называйте их такими вещами, как Student.php. Используйте команду php artisan make:migration create_students_table. Стандартное соглашение об именах - это описание действия миграции.
  2. Если вы хотите вставить определенные данные, не делайте этого в своей миграции. Вместо этого посмотрите на настройку a seeder.
  3. Для вашего Student Я очень рекомендую вам создать модель. Laravel - это структура MVC, и если вы не привыкли к структуре MVC, это может немного отличаться от того, к чему вы привыкли. Модель представляет собой просто представление некоторого набора данных, логически связанного вместе. В вашей базе данных эти данные попадают в одну строку. Затем вы можете сделать Student::all(), чтобы получить все данные из вашей таблицы students.
  4. Соглашение об именах в Ларавеле диктует использование camelCase. Следовательно, все ваши файлы должны быть названы так же, как ваши классы, с верблюжьим футляром. Это говорит о том StudentController.php и class StudentController
  5. В вашем routes.php, указать, какой метод для вызова, а также: Route::get('student', ['as' => 'student', 'uses' => '[email protected]']);

Опять же, пожалуйста, посмотрите на серии 5 Основы Laravel связаны в начале. Вы научитесь правильно обращаться с Ларавелем.

+0

поблагодарить вас, ребята, за ваш обмен! наконец, я сделал это! : ') –

Смежные вопросы