我有一张桌子Foo
id
1
2
3
4
5
我有一张桌子吧
foo_id = 1 test = 1
foo_id = 2 test = 0
foo_id = 4 test = 1
foo_id = 5 test = 1
我想从foo中检索id,其中bar test = 0或bar中不存在。
我有
$id = Foo::with('bar')->whereHas('bar', function ($q)
{$q->where('test', '=', 0)
->orWhereNull(foo_id???????);})
->get();
我怎么写下来?
答案 0 :(得分:0)
您位于正确的通道上,但whereHas
找不到bar
中不存在的任何内容。请尝试这种方法:
$id = Foo::with('bar')
->whereHas('bar', function ($q) {
$q->where('test', '=', 0);
}
->orWhereDoesntHave('bar')
->get();
现在,您正在寻找Foo
bar
test
0
为bar
,或者int i = 0;
pthread_create(..., ..., ..., (void *)&i);
。
答案 1 :(得分:0)
$id = Foo::with('bar')->whereHas('bar', function ($q)
{
$q->where('test', '=', 0)
->whereNotIn(
'foo_id', DB::raw("SELECT foo_id FROM bar"), 'or'
);
})->get();
答案 2 :(得分:0)
此代码可根据您的需要完美运行。
for(i in names(df)[6:10]) {
df[,i] <- ifelse(df[,i] == "0/0", df[[4]], df[,i])
}
df
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
#1 chr1A 63248 . A G A A A ./. A
#2 chr1A 80950 . A C 1/1 A ./. A A
#3 chr1A 81080 . C G C C C ./. C
#4 chr1A 81084 . C T 0/1 C C ./. C