在查询期间添加自定义列以标识表

时间:2015-07-09 19:43:57

标签: laravel laravel-4 eloquent laravel-5 accessor

如何在Eloquent select查询中添加自定义列以识别表?

例如,我有当前的查询:

is_post

我希望在查询期间添加值1(对于true)的列Post

<?php class Post extends Eloquent { protected $table = 'posts'; } 类:

MyControl

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$posts = Post::where('user_id', getUserID())->selectRaw('*, 1 AS `is_post`')->get();

但根据您的需要,您还可以使用您展示的代码:

$ posts = Post :: where('user_id',getUserID()) - &gt; get();

以这种方式在Post模型中添加accessor

public function getIsPostAttribute($value) {
  return 1;
}

在这两种情况下,您都应该能够以这种方式显示is_post值:

foreach ($posts as $post) {
  echo $post->is_post;
}