blogsIndex.blade.php
@extends('layouts.default')
@section('details')
<div class="container">
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
Hello <strong> {{auth()->user()->name}}</strong> !!! You can not find blogs from another Departments.
</div>
</div>
@endsection
@section('gotoLogins')
@if(count($blogs) > 0)
@foreach($blogs as $blog)
<div class="container-fluid">
<div class="card">
<div class="card-body ">
<div class="col-md-8 col-sm-8">
<h3><a style="color:#3e3d8c;" href="/blogs/{{$blog->id}}">{{$blog->title}}</a></h3>
<footer class ="blockquote-footer">
<small>Written on {{$blog->created_at}} by: {{$blog->user->name}}</small>
</footer>
</div>
</div>
</div>
</div>
@endforeach
@else
<p>No blogs found</p>
@endif
@endsection
博客 Controller .php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Blog;
class blogController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth', ['except' => ['index']]);
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$blog =Blog::orderBy('created_at','desc')->get();
return view('pages.blogsIndex')->with('blogs',$blog);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
模型:Blog.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
//table name
protected $table = 'students_blog';
//Primary key
public $primaryKey = 'id';
//Timestamp
public $timestamp = true;
public function user(){
return $this->hasMany('App\User');
}
}
模型:User.php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password','roll',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function feeds(){
return $this->hasMany('App\Feed');
}
public function blogs(){
return $this->hasMany('App\Blog');
}
public function mentor(){
return $this->belongsTo('App\Mentor');
}
}
路由:Web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', 'pagesController@index');
Route::post('/student', 'studentsFeedController@store')->name('student.feed.submit');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('blogs', 'blogController');
Route::prefix('mentor')->group(function(){
Route::get('/register', 'Auth\MentorLoginController@showSignupForm')->name('mentor.signup');
Route::post('/register', 'Auth\MentorLoginController@signupFormSubmit')->name('mentor.signup.submit');
Route::get('/login', 'Auth\MentorLoginController@showLoginForm')->name('mentor.login');
Route::post('/login', 'Auth\MentorLoginController@login')->name('mentor.login.submit');
Route::get('/', 'MentorController@index')->name('mentor.dashboard');
});
表详细信息:有两个表,一个是通常的“用户”表。 “students_blog”有一个列名“student_id”。我可以通过 {{$blog->student_id}} 在我的 View 中获取 student_id,但我想要名字。写在...之后由:??
请帮助我。
最佳答案
改变这种关系:
public function user(){
return $this->hasMany('App\User');
}
收件人:
public function user()
{
return $this->belongsTo('App\User', 'student_id');
}
然后获取博客所有者的姓名:
$blog->user->name
关于php - 找不到列 : 1054 Unknown column 'users.blog_id' :SQL: select * from `users` where `users` .`blog_id` = 1 and `users` .`blog_id` is not null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356171/