【发布时间】:2016-01-19 23:57:55
【问题描述】:
不知道为什么会这样。我以前用过这个方法,一切都很好。由于某种原因 findOrFail 没有将 where 子句添加到要执行的查询中。还有其他人遇到这个吗?我可以只使用 Model::where() 但如果有问题或遗漏了什么,我想找出问题所在。
路线:
Route::get('/forums/topic/{id}/post/create', 'ForumController@topicPostCreate');
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Image;
use App\PostImage;
use Auth;
use App\Topic;
use App\Post;
use App\Http\Requests\SearchRequest;
use App\Http\Requests\PostImageRequest;
use App\Http\Requests\PostRequest;
use App\Http\Requests\TopicRequest;
use App\Http\Controllers\Controller;
class ForumController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the form for creating a new topic.
*
* @return \Illuminate\Http\Response
*/
public function topicPostCreate($id)
{
$results = Topic::findOrFail($id)->toSql();
dd($results);
}
}
型号:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Topic extends Model
{
protected $fillable = [
'title',
'user_id'
];
/**
* Many topics belong to one user
*/
public function user(){
return $this->belongsTo('App\User');
}
/**
* Each Topic has many posts
*
*/
public function posts()
{
return $this->hasMany('App\Post');
}
}
dd()函数返回的查询如下:
"select * from `topics`"
有人知道为什么会这样吗?一定有充分的理由。我可能错过了一些东西......???
【问题讨论】:
标签: php laravel laravel-5 eloquent