Pergunta

Muito instalação padrão:

tabela de "Posts", tabela de "Categorias" dinâmica "posts_categories"

/************** CATEGORY MODEL *********/
class Category extends Eloquent
{
 /** standard code**/

public function posts()
{
    return $this->belongsToMany('Post','posts_categories');
}

}

/************* POSTS MODEL ************/
class Post extends Eloquent
{
/** the usual **/
public function categories()
{
    return $this->belongsToMany('Category', 'posts_categories');
}

tabela dinâmica com a devida chaves estrangeiras de instalação.

Eu não posso parecem figura como obter TODOS os POSTS, sem quaisquer categorias (ou para que o assunto receba categorias, sem quaisquer publicações, por exemplo, vazia categorias)

Eu gostaria de fazer isso em eloqüente, mas em sql seria algo como:

SELECT *, 
       (SELECT COUNT(id) cnt 
        FROM posts_categories pc 
        WHERE pc.post_id = p.id)  AS cnt   
FROM posts p 
HAVING cnt = 0;
Foi útil?

Solução

Você pode usar isso para obter todas as Posts que não tenham Category:

$posts = Post::has('categories', '=', 0)->get();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top